From e8c8c92120e5d582798b24fcb89d8c91f5977ee6 Mon Sep 17 00:00:00 2001 From: pramod mahajan Date: Mon, 18 Aug 2025 23:31:18 +0530 Subject: [PATCH] handle error --- .../Controllers/AppMenuController.cs | 90 ++++++++++--------- 1 file changed, 50 insertions(+), 40 deletions(-) diff --git a/Marco.Pms.Services/Controllers/AppMenuController.cs b/Marco.Pms.Services/Controllers/AppMenuController.cs index c0238a7..12dc7ec 100644 --- a/Marco.Pms.Services/Controllers/AppMenuController.cs +++ b/Marco.Pms.Services/Controllers/AppMenuController.cs @@ -134,8 +134,6 @@ namespace Marco.Pms.Services.Controllers } } - - [HttpPut("sidebar/{sectionId}/items/{itemId}")] public async Task UpdateMenuItem(Guid sectionId, Guid itemId, [FromBody] MenuItemDto updatedMenuItem) { @@ -231,73 +229,85 @@ namespace Marco.Pms.Services.Controllers var loggedUser = await _userHelper.GetCurrentEmployeeAsync(); var employeeId = loggedUser.Id; - var menus = await _sideBarMenuHelper.GetAllMenuSectionsAsync(); - - foreach (var menu in menus) + try { - var allowedItems = new List(); - foreach (var item in menu.Items) + var menus = await _sideBarMenuHelper.GetAllMenuSectionsAsync(); + + foreach (var menu in menus) { - bool isAllowed = false; + var allowedItems = new List(); - if (item.PermissionKeys == null || !item.PermissionKeys.Any()) + foreach (var item in menu.Items) { - isAllowed = true; - } - else - { - foreach (var pk in item.PermissionKeys) + bool isAllowed = false; + + if (item.PermissionKeys == null || !item.PermissionKeys.Any()) { - if (Guid.TryParse(pk, out var permissionId)) + isAllowed = true; + } + else + { + foreach (var pk in item.PermissionKeys) { - if (await _permissions.HasPermission(permissionId,employeeId)) + if (Guid.TryParse(pk, out var permissionId)) { - isAllowed = true; - break; + if (await _permissions.HasPermission(permissionId, employeeId)) + { + isAllowed = true; + break; + } } } } - } - if (isAllowed) - { - - if (item.Submenu != null && item.Submenu.Any()) + if (isAllowed) { - var allowedSubmenus = new List(); - foreach (var sm in item.Submenu) + + if (item.Submenu != null && item.Submenu.Any()) { - if (sm.PermissionKeys == null || !sm.PermissionKeys.Any()) + var allowedSubmenus = new List(); + foreach (var sm in item.Submenu) { - allowedSubmenus.Add(sm); - } - else - { - foreach (var pk in sm.PermissionKeys) + if (sm.PermissionKeys == null || !sm.PermissionKeys.Any()) { - if (Guid.TryParse(pk, out var permissionId)) + allowedSubmenus.Add(sm); + } + else + { + foreach (var pk in sm.PermissionKeys) { - if (await _permissions.HasPermission(permissionId,employeeId)) + if (Guid.TryParse(pk, out var permissionId)) { - allowedSubmenus.Add(sm); - break; + if (await _permissions.HasPermission(permissionId, employeeId)) + { + allowedSubmenus.Add(sm); + break; + } } } } } + item.Submenu = allowedSubmenus; } - item.Submenu = allowedSubmenus; - } - allowedItems.Add(item); + allowedItems.Add(item); + } } + + menu.Items = allowedItems; } - menu.Items = allowedItems; + _logger.LogInfo("Fetched Sidebar Menu"); + return Ok(ApiResponse.SuccessResponse(menus, "SideBar Menu Fetched successfully")); + } + catch (Exception ex) { + + _logger.LogError(ex, "Error Occurred while Updating Fetching Menu"); + return StatusCode(500, ApiResponse.ErrorResponse("Server Error", ex, 500)); } - return Ok(menus); + }