FIltering the master list by active and inactive

This commit is contained in:
ashutosh.nehete 2025-07-26 09:17:26 +05:30
parent 57d2b03c02
commit 7619ce9820
3 changed files with 18 additions and 16 deletions

View File

@ -869,10 +869,10 @@ namespace Marco.Pms.Services.Controllers
#region =================================================================== Expenses Type APIs ===================================================================
[HttpGet("expenses-types")]
public async Task<IActionResult> GetExpenseTypeList()
public async Task<IActionResult> 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<IActionResult> GetExpensesStatusList()
public async Task<IActionResult> 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<IActionResult> GetPaymentModeList()
public async Task<IActionResult> 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);
}

View File

@ -47,7 +47,7 @@ namespace Marco.Pms.Services.Service
#region =================================================================== Expenses Type APIs ===================================================================
public async Task<ApiResponse<object>> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId)
public async Task<ApiResponse<object>> 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<List<ExpensesTypeMasterVM>>(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<ApiResponse<object>> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId)
public async Task<ApiResponse<object>> 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<List<ExpensesStatusMasterVM>>(statusList);
var statusIds = statusList.Select(s => s.Id).ToList();
@ -455,7 +455,7 @@ namespace Marco.Pms.Services.Service
return ApiResponse<object>.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<ApiResponse<object>> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId)
public async Task<ApiResponse<object>> 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<List<PaymentModeMatserVM>>(paymentModes);
_logger.LogInfo("{Count} records of payment modes have been fetched successfully by employee {EmployeeId}", response.Count, loggedInEmployee.Id);

View File

@ -7,21 +7,23 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces
public interface IMasterService
{
#region =================================================================== Expenses Type APIs ===================================================================
Task<ApiResponse<object>> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> GetExpenseTypeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive);
Task<ApiResponse<object>> CreateExpenseTypeAsync(ExpensesTypeMasterDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> UpdateExpenseTypeAsync(Guid id, ExpensesTypeMasterDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> DeleteExpenseTypeAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Expenses Status APIs ===================================================================
Task<ApiResponse<object>> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> GetExpensesStatusListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive);
Task<ApiResponse<object>> CreateExpensesStatusAsync(ExpensesStatusMasterDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> UpdateExpensesStatusAsync(Guid id, ExpensesStatusMasterDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> DeleteExpensesStatusAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId);
#endregion
#region =================================================================== Payment mode APIs ===================================================================
Task<ApiResponse<object>> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> GetPaymentModeListAsync(Employee loggedInEmployee, Guid tenantId, bool isActive);
Task<ApiResponse<object>> CreatePaymentModeAsync(PaymentModeMatserDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> UpdatePaymentModeAsync(Guid id, PaymentModeMatserDto model, Employee loggedInEmployee, Guid tenantId);
Task<ApiResponse<object>> DeletePaymentModeAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId);