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"); + +
+
+

Sort by:

+
+ +
+
+
+
+
+

Pending Item Movement

+
+
+
+
+
+ +
+
+

Complete Item Movement

+
+
+
+
+
+
+ +
+
+
+

Item ID: {{ itemId }}

+
+
+
+
+
+
+
+ +@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 @@ + +
+
+ +
+

+ +

+
Item Movement
+
+
+
+
\ 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 @@ Inventory