sorted the service , activity group and activity by names

This commit is contained in:
ashutosh.nehete 2025-12-09 19:13:08 +05:30
parent 4853613efd
commit 5387e009cb
3 changed files with 17 additions and 8 deletions

View File

@ -257,10 +257,10 @@ namespace Marco.Pms.Services.Controllers
[HttpGet] [HttpGet]
[Route("activities")] [Route("activities")]
public async Task<IActionResult> GetActivitiesMaster([FromQuery] Guid? activityGroupId) public async Task<IActionResult> GetActivitiesMaster([FromQuery] Guid? activityGroupId, [FromQuery] string? searchString)
{ {
var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
var response = await _masterService.GetActivitiesMasterAsync(activityGroupId, loggedInEmployee, tenantId); var response = await _masterService.GetActivitiesMasterAsync(activityGroupId, searchString, loggedInEmployee, tenantId);
return StatusCode(response.StatusCode, response); return StatusCode(response.StatusCode, response);
} }

View File

@ -521,6 +521,7 @@ namespace Marco.Pms.Services.Service
var services = await _context.ServiceMasters var services = await _context.ServiceMasters
.Where(s => s.TenantId == tenantId && s.IsActive) .Where(s => s.TenantId == tenantId && s.IsActive)
.Select(s => _mapper.Map<ServiceMasterVM>(s)) .Select(s => _mapper.Map<ServiceMasterVM>(s))
.OrderBy(s => s.Name)
.ToListAsync(); .ToListAsync();
_logger.LogInfo("Fetched {Count} service records for tenantId: {TenantId}", services.Count, tenantId); _logger.LogInfo("Fetched {Count} service records for tenantId: {TenantId}", services.Count, tenantId);
@ -628,11 +629,11 @@ namespace Marco.Pms.Services.Service
IsSystem = a.IsSystem, IsSystem = a.IsSystem,
CheckLists = _mapper.Map<List<CheckListVM>>(checklistForActivity) CheckLists = _mapper.Map<List<CheckListVM>>(checklistForActivity)
}; };
}).ToList() }).OrderBy(a => a.ActivityName).ToList()
}).ToList() }).OrderBy(ag => ag.Name).ToList()
}; };
return response; return response;
}).ToList(); }).OrderBy(s => s.Name).ToList();
_logger.LogInfo("Successfully processed and mapped {ServiceCount} services for TenantId: {TenantId}", Vm.Count, tenantId); _logger.LogInfo("Successfully processed and mapped {ServiceCount} services for TenantId: {TenantId}", Vm.Count, tenantId);
@ -836,6 +837,7 @@ namespace Marco.Pms.Services.Service
var activityGroups = await activityGroupQuery var activityGroups = await activityGroupQuery
.Select(ag => _mapper.Map<ActivityGroupMasterVM>(ag)) .Select(ag => _mapper.Map<ActivityGroupMasterVM>(ag))
.OrderBy(ag => ag.Name)
.ToListAsync(); .ToListAsync();
_logger.LogInfo("{Count} activity group(s) fetched for tenantId: {TenantId}", activityGroups.Count, tenantId); _logger.LogInfo("{Count} activity group(s) fetched for tenantId: {TenantId}", activityGroups.Count, tenantId);
@ -1032,7 +1034,7 @@ namespace Marco.Pms.Services.Service
#endregion #endregion
#region =================================================================== Activity APIs =================================================================== #region =================================================================== Activity APIs ===================================================================
public async Task<ApiResponse<object>> GetActivitiesMasterAsync(Guid? activityGroupId, Employee loggedInEmployee, Guid tenantId) public async Task<ApiResponse<object>> GetActivitiesMasterAsync(Guid? activityGroupId, string? searchString, Employee loggedInEmployee, Guid tenantId)
{ {
_logger.LogInfo("GetActivitiesMaster called"); _logger.LogInfo("GetActivitiesMaster called");
@ -1050,6 +1052,11 @@ namespace Marco.Pms.Services.Service
activityQuery = activityQuery.Where(a => a.ActivityGroupId == activityGroupId); activityQuery = activityQuery.Where(a => a.ActivityGroupId == activityGroupId);
} }
if (!string.IsNullOrWhiteSpace(searchString))
{
activityQuery = activityQuery.Where(a => a.ActivityName.Contains(searchString));
}
var activities = await activityQuery var activities = await activityQuery
.ToListAsync(); .ToListAsync();
@ -1081,7 +1088,7 @@ namespace Marco.Pms.Services.Service
response.CheckLists = _mapper.Map<List<CheckListVM>>(checklistForActivity); response.CheckLists = _mapper.Map<List<CheckListVM>>(checklistForActivity);
return response; return response;
}).ToList(); }).OrderBy(a => a.ActivityName).ToList();
_logger.LogInfo("{Count} activity records fetched successfully for tenantId: {TenantId}", activityVMs.Count, tenantId); _logger.LogInfo("{Count} activity records fetched successfully for tenantId: {TenantId}", activityVMs.Count, tenantId);

View File

@ -26,10 +26,12 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces
Task<ApiResponse<object>> GetPurchaseInvoiceStatusAsync(Employee loggedInEmployee, CancellationToken cancellationToken); Task<ApiResponse<object>> GetPurchaseInvoiceStatusAsync(Employee loggedInEmployee, CancellationToken cancellationToken);
#endregion #endregion
#region =================================================================== Invoice Attachment Type APIs =================================================================== #region =================================================================== Invoice Attachment Type APIs ===================================================================
Task<ApiResponse<object>> GetInvoiceAttachmentTypeAsync(Employee loggedInEmployee, CancellationToken cancellationToken); Task<ApiResponse<object>> GetInvoiceAttachmentTypeAsync(Employee loggedInEmployee, CancellationToken cancellationToken);
#endregion #endregion
#region =================================================================== Currency APIs =================================================================== #region =================================================================== Currency APIs ===================================================================
Task<ApiResponse<object>> GetCurrencyAsync(Employee loggedInEmployee, Guid tenantId); Task<ApiResponse<object>> GetCurrencyAsync(Employee loggedInEmployee, Guid tenantId);
@ -58,7 +60,7 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces
#endregion #endregion
#region =================================================================== Activity APIs =================================================================== #region =================================================================== Activity APIs ===================================================================
Task<ApiResponse<object>> GetActivitiesMasterAsync(Guid? activityGroupId, Employee loggedInEmployee, Guid tenantId); Task<ApiResponse<object>> GetActivitiesMasterAsync(Guid? activityGroupId, string? searchString, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> CreateActivityAsync(CreateActivityMasterDto createActivity, Employee loggedInEmployee, Guid tenantId); Task<ApiResponse<object>> CreateActivityAsync(CreateActivityMasterDto createActivity, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> UpdateActivityAsync(Guid id, CreateActivityMasterDto createActivity, Employee loggedInEmployee, Guid tenantId); Task<ApiResponse<object>> UpdateActivityAsync(Guid id, CreateActivityMasterDto createActivity, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> DeleteActivityAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId); Task<ApiResponse<object>> DeleteActivityAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId);