diff --git a/Areas/Inventory/Controllers/ItemMovementController.cs b/Areas/Inventory/Controllers/ItemMovementController.cs
index 2615623..53e048a 100644
--- a/Areas/Inventory/Controllers/ItemMovementController.cs
+++ b/Areas/Inventory/Controllers/ItemMovementController.cs
@@ -15,6 +15,10 @@ namespace PSTW_CentralSystem.Areas.Inventory.Controllers
{
return View();
}
+ public ActionResult ItemMovementUser()
+ {
+ return View();
+ }
public ActionResult QrUser()
{
return View();
diff --git a/Areas/Inventory/Views/ItemMovement/ItemMovementUser.cshtml b/Areas/Inventory/Views/ItemMovement/ItemMovementUser.cshtml
new file mode 100644
index 0000000..45c1df0
--- /dev/null
+++ b/Areas/Inventory/Views/ItemMovement/ItemMovementUser.cshtml
@@ -0,0 +1,261 @@
+
+@{
+ ViewData["Title"] = "Item Movement";
+ Layout = "~/Views/Shared/_Layout.cshtml";
+}
+
+@await Html.PartialAsync("~/Areas/Inventory/Views/_InventoryPartialUser.cshtml");
+
+
+
+@section Scripts {
+@{
+ await Html.RenderPartialAsync("_ValidationScriptsPartial");
+}
+
+}
\ No newline at end of file
diff --git a/Areas/Inventory/Views/_InventoryPartialUser.cshtml b/Areas/Inventory/Views/_InventoryPartialUser.cshtml
index 1c181a1..f7517c2 100644
--- a/Areas/Inventory/Views/_InventoryPartialUser.cshtml
+++ b/Areas/Inventory/Views/_InventoryPartialUser.cshtml
@@ -25,4 +25,17 @@
+
+
\ No newline at end of file
diff --git a/Controllers/API/Inventory/InvMainAPI.cs b/Controllers/API/Inventory/InvMainAPI.cs
index d12c803..af8be62 100644
--- a/Controllers/API/Inventory/InvMainAPI.cs
+++ b/Controllers/API/Inventory/InvMainAPI.cs
@@ -777,6 +777,65 @@ namespace PSTW_CentralSystem.Controllers.API.Inventory
#endregion ItemMovement
+ #region ItemMovementUser
+
+ [HttpPost("ItemMovementUser")]
+ public async Task ItemMovementUser()
+ {
+ try
+ {
+ var user = await _userManager.GetUserAsync(User);
+ if (user == null)
+ {
+ return NotFound("Item movement record not found.");
+ }
+
+ var itemMovementUser = await _centralDbContext.ItemMovements
+ .Include(i => i.FromStore)
+ .Include(i => i.FromStation)
+ .Include(i => i.FromUser)
+ .Include(i => i.NextStore)
+ .Include(i => i.NextStation)
+ .Include(i => i.NextUser)
+ .Where(i => i.ToUser == user.Id || i.LastUser == user.Id)
+ .ToListAsync();
+
+ return Json(itemMovementUser.Select(i => new
+ {
+ i.Id,
+ i.ItemId,
+ i.ToStation,
+ i.ToStore,
+ i.ToUser,
+ LastUserName = i.FromUser?.FullName,
+ LastStoreName = i.FromStore?.StoreName,
+ LastStationName = i.FromStation?.StationName,
+ ToUserName = i.NextUser?.FullName,
+ ToStoreName = i.NextStore?.StoreName,
+ ToStationName = i.NextStation?.StationName,
+ i.ToOther,
+ i.sendDate,
+ i.Action,
+ i.Quantity,
+ i.Remark,
+ i.ConsignmentNote,
+ i.Date,
+ i.LastUser,
+ i.LastStore,
+ i.LastStation,
+ i.LatestStatus,
+ i.receiveDate,
+ i.MovementComplete
+ }));
+ }
+ catch (Exception ex)
+ {
+ return BadRequest(ex.Message);
+ }
+
+ }
+ #endregion
+
#region ItemRequestUser
[HttpPost("AddRequest")]
public async Task AddRequest([FromBody] RequestModel request)
diff --git a/Views/Shared/_Layout.cshtml b/Views/Shared/_Layout.cshtml
index c4acf0c..41716db 100644
--- a/Views/Shared/_Layout.cshtml
+++ b/Views/Shared/_Layout.cshtml
@@ -9,9 +9,10 @@
var user = await UserManager.GetUserAsync(User);
var roles = user != null ? await UserManager.GetRolesAsync(user) : new List();
- Console.WriteLine("User Roles: " + string.Join(", ", roles));
- var isNotTechnician = !roles.Any(r => r.Trim().Equals("Technician", StringComparison.OrdinalIgnoreCase));
- Console.WriteLine("Is NOT Technician: " + (isNotTechnician ? "True" : "False"));
+ Console.WriteLine("User Roles: " + string.Join(", ", roles)); var restrictedRoles = new List { "SuperAdmin", "SystemAdmin", "Inventory Master" };
+ var isAdmin = roles.Any(r => restrictedRoles.Contains(r.Trim(), StringComparer.OrdinalIgnoreCase));
+
+ Console.WriteLine("Is NOT Admin: " + (isAdmin ? "True" : "False"));
}
@@ -443,13 +444,17 @@
-
+ @if (isAdmin)
+ {
+
+ }
+