From 10625101e150107e4019d692f4ee59b578dfa011 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Sat, 17 May 2025 16:24:01 +0530 Subject: [PATCH] Added an API to get contact category by its size --- .../Controllers/MasterController.cs | 14 +++++++++++++- Marco.Pms.Services/Helpers/MasterHelper.cs | 17 ++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Marco.Pms.Services/Controllers/MasterController.cs b/Marco.Pms.Services/Controllers/MasterController.cs index 1ba1ee9..61baaa3 100644 --- a/Marco.Pms.Services/Controllers/MasterController.cs +++ b/Marco.Pms.Services/Controllers/MasterController.cs @@ -683,7 +683,19 @@ namespace Marco.Pms.Services.Controllers [HttpGet("contact-category/{id}")] public async Task GetContactCategoryMaster(Guid id) { - return Ok(); + var response = await _masterHelper.GetContactCategoryById(id); + if (response.StatusCode == 200) + { + return Ok(response); + } + else if (response.StatusCode == 404) + { + return NotFound(response); + } + else + { + return BadRequest(response); + } } [HttpPost("contact-category")] diff --git a/Marco.Pms.Services/Helpers/MasterHelper.cs b/Marco.Pms.Services/Helpers/MasterHelper.cs index ac05b97..11015c8 100644 --- a/Marco.Pms.Services/Helpers/MasterHelper.cs +++ b/Marco.Pms.Services/Helpers/MasterHelper.cs @@ -47,7 +47,6 @@ namespace Marco.Pms.Services.Helpers _logger.LogWarning("Employee with ID {LoggedInEmployeeId} sended empty payload", LoggedInEmployee.Id); return ApiResponse.ErrorResponse("User Send empty Payload", "User Send empty Payload", 400); } - public async Task> GetContactCategoriesList() { Guid tenantId = _userHelper.GetTenantId(); @@ -63,6 +62,22 @@ namespace Marco.Pms.Services.Helpers _logger.LogInfo("{count} contact categoires are fetched by Employee with ID {LoggedInEmployeeId}", contactCategories.Count, LoggedInEmployee.Id); return ApiResponse.SuccessResponse(contactCategories, System.String.Format("{0} contact categories fetched successfully", contactCategories.Count), 200); } + public async Task> GetContactCategoryById(Guid id) + { + Guid tenantId = _userHelper.GetTenantId(); + var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); + + var category = await _context.ContactCategoryMasters.FirstOrDefaultAsync(c => c.Id == id && c.TenantId == tenantId); + if (category != null) + { + ContactCategoryVM categoryVM = category.ToContactCategoryVMFromContactCategoryMaster(); + _logger.LogInfo("Employee {EmployeeId} fetched contact category {ContactCategoryID}", LoggedInEmployee.Id, category.Id); + return ApiResponse.SuccessResponse(categoryVM, "Category fetched successfully", 200); + } + + _logger.LogWarning("Employee {EmployeeId} attempted to fetch contact category {ContactCategoryID} but not found in database", LoggedInEmployee.Id, id); + return ApiResponse.ErrorResponse("Category not found", "Category not found", 404); + } public async Task> DeleteContactCategory(Guid id) { Guid tenantId = _userHelper.GetTenantId();