diff --git a/Marco.Pms.Services/Controllers/MasterController.cs b/Marco.Pms.Services/Controllers/MasterController.cs index 2cfc1fe..61d9a2e 100644 --- a/Marco.Pms.Services/Controllers/MasterController.cs +++ b/Marco.Pms.Services/Controllers/MasterController.cs @@ -869,10 +869,10 @@ namespace Marco.Pms.Services.Controllers #region =================================================================== Expenses Type APIs =================================================================== [HttpGet("expenses-types")] - public async Task GetExpenseTypeList() + public async Task GetExpenseTypeList([FromQuery] bool isActive = true) { var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); - var response = await _masterService.GetExpenseTypeListAsync(loggedInEmployee, tenantId); + var response = await _masterService.GetExpenseTypeListAsync(loggedInEmployee, tenantId, isActive); return StatusCode(response.StatusCode, response); } @@ -905,10 +905,10 @@ namespace Marco.Pms.Services.Controllers #region =================================================================== Expenses Status APIs =================================================================== [HttpGet("expenses-status")] - public async Task GetExpensesStatusList() + public async Task GetExpensesStatusList([FromQuery] bool isActive = true) { var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); - var response = await _masterService.GetExpensesStatusListAsync(loggedInEmployee, tenantId); + var response = await _masterService.GetExpensesStatusListAsync(loggedInEmployee, tenantId, isActive); return StatusCode(response.StatusCode, response); } @@ -941,10 +941,10 @@ namespace Marco.Pms.Services.Controllers #region =================================================================== Payment mode APIs =================================================================== [HttpGet("payment-modes")] - public async Task GetPaymentModeList() + public async Task GetPaymentModeList([FromQuery] bool isActive = true) { var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); - var response = await _masterService.GetPaymentModeListAsync(loggedInEmployee, tenantId); + var response = await _masterService.GetPaymentModeListAsync(loggedInEmployee, tenantId, isActive); return StatusCode(response.StatusCode, response); } diff --git a/Marco.Pms.Services/Service/MasterService.cs b/Marco.Pms.Services/Service/MasterService.cs index daa4191..16d98b2 100644 --- a/Marco.Pms.Services/Service/MasterService.cs +++ b/Marco.Pms.Services/Service/MasterService.cs @@ -47,7 +47,7 @@ namespace Marco.Pms.Services.Service #region =================================================================== Expenses Type APIs =================================================================== - public async Task> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId) + public async Task> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive) { try { @@ -59,7 +59,7 @@ namespace Marco.Pms.Services.Service } // Featching the list of Expenses Type. - var typeList = await _context.ExpensesTypeMaster.Where(et => et.TenantId == tenantId).ToListAsync(); + var typeList = await _context.ExpensesTypeMaster.Where(et => et.TenantId == tenantId && et.IsActive == isActive).ToListAsync(); var response = _mapper.Map>(typeList); _logger.LogInfo("{Count} records of expense type have been fetched successfully by employee {EmployeeId}", response.Count, loggedInEmployee.Id); @@ -247,7 +247,7 @@ namespace Marco.Pms.Services.Service #endregion #region =================================================================== Expenses Status APIs =================================================================== - public async Task> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId) + public async Task> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive) { try @@ -260,7 +260,7 @@ namespace Marco.Pms.Services.Service } // Featching the list of Expenses Status. - var statusList = await _context.ExpensesStatusMaster.Where(es => es.TenantId == tenantId).ToListAsync(); + var statusList = await _context.ExpensesStatusMaster.Where(es => es.TenantId == tenantId && es.IsActive == isActive).ToListAsync(); var response = _mapper.Map>(statusList); var statusIds = statusList.Select(s => s.Id).ToList(); @@ -455,7 +455,7 @@ namespace Marco.Pms.Services.Service return ApiResponse.ErrorResponse("Access Denied.", "You do not have permission to Manage masters", 403); } - var expensesStatus = await _context.ExpensesStatusMaster.FirstOrDefaultAsync(et => et.Id == id && et.TenantId == tenantId); + var expensesStatus = await _context.ExpensesStatusMaster.FirstOrDefaultAsync(et => et.Id == id && et.TenantId == tenantId && !et.IsSystem); // Checking if Expense Status exists if (expensesStatus == null) @@ -501,7 +501,7 @@ namespace Marco.Pms.Services.Service #endregion #region =================================================================== Payment mode APIs =================================================================== - public async Task> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId) + public async Task> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive) { try { @@ -513,7 +513,7 @@ namespace Marco.Pms.Services.Service } // Featching the list of Payment Modes. - var paymentModes = await _context.PaymentModeMatser.Where(pm => pm.TenantId == tenantId).ToListAsync(); + var paymentModes = await _context.PaymentModeMatser.Where(pm => pm.TenantId == tenantId && pm.IsActive == isActive).ToListAsync(); var response = _mapper.Map>(paymentModes); _logger.LogInfo("{Count} records of payment modes have been fetched successfully by employee {EmployeeId}", response.Count, loggedInEmployee.Id); diff --git a/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs b/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs index 41154a9..7a64b3a 100644 --- a/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs +++ b/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs @@ -7,21 +7,23 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces public interface IMasterService { #region =================================================================== Expenses Type APIs =================================================================== - Task> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId); + Task> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive); Task> CreateExpenseTypeAsync(ExpensesTypeMasterDto model, Employee loggedInEmployee, Guid tenantId); Task> UpdateExpenseTypeAsync(Guid id, ExpensesTypeMasterDto model, Employee loggedInEmployee, Guid tenantId); Task> DeleteExpenseTypeAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId); #endregion + #region =================================================================== Expenses Status APIs =================================================================== - Task> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId); + Task> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive); Task> CreateExpensesStatusAsync(ExpensesStatusMasterDto model, Employee loggedInEmployee, Guid tenantId); Task> UpdateExpensesStatusAsync(Guid id, ExpensesStatusMasterDto model, Employee loggedInEmployee, Guid tenantId); Task> DeleteExpensesStatusAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId); #endregion + #region =================================================================== Payment mode APIs =================================================================== - Task> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId); + Task> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive); Task> CreatePaymentModeAsync(PaymentModeMatserDto model, Employee loggedInEmployee, Guid tenantId); Task> UpdatePaymentModeAsync(Guid id, PaymentModeMatserDto model, Employee loggedInEmployee, Guid tenantId); Task> DeletePaymentModeAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId);