From c285f2be03615accdb9f14fa39bd88466b00ec5f Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Tue, 4 Nov 2025 16:23:11 +0530 Subject: [PATCH] Added the API to get Recurring Payment Status --- .../Controllers/MasterController.cs | 12 ++++++++++ Marco.Pms.Services/Service/MasterService.cs | 23 +++++++++++++++++++ .../ServiceInterfaces/IMasterService.cs | 6 +++++ 3 files changed, 41 insertions(+) diff --git a/Marco.Pms.Services/Controllers/MasterController.cs b/Marco.Pms.Services/Controllers/MasterController.cs index bcacf13..5817102 100644 --- a/Marco.Pms.Services/Controllers/MasterController.cs +++ b/Marco.Pms.Services/Controllers/MasterController.cs @@ -37,6 +37,18 @@ namespace Marco.Pms.Services.Controllers tenantId = userHelper.GetTenantId(); } + #region =================================================================== Recurring Payment Status APIs =================================================================== + + [HttpGet("recurring-status/list")] + public async Task GetRecurringPaymentStatus() + { + var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); + var response = await _masterService.GetRecurringPaymentStatusAsync(loggedInEmployee, tenantId); + return StatusCode(response.StatusCode, response); + } + + #endregion + #region =================================================================== Currency APIs =================================================================== [HttpGet("currencies/list")] diff --git a/Marco.Pms.Services/Service/MasterService.cs b/Marco.Pms.Services/Service/MasterService.cs index 3d6073c..40c9cd8 100644 --- a/Marco.Pms.Services/Service/MasterService.cs +++ b/Marco.Pms.Services/Service/MasterService.cs @@ -53,6 +53,29 @@ namespace Marco.Pms.Services.Service _updateLogHelper = updateLogHelper ?? throw new ArgumentNullException(nameof(updateLogHelper)); } + #region =================================================================== Recurring Payment Status APIs =================================================================== + + public async Task> GetRecurringPaymentStatusAsync(Employee loggedInEmployee, Guid tenantId) + { + _logger.LogDebug("GetRecurringPaymentStatusAsync called"); + + try + { + // Step 1: Fetch global recurring payment status + var status = await _context.RecurringPaymentStatus.OrderBy(rps => rps.Name).ToListAsync(); + + _logger.LogInfo("Fetched {Count} recurring payment status records for tenantId: {TenantId}", status.Count, tenantId); + + return ApiResponse.SuccessResponse(status, $"{status.Count} record(s) of recurring payment status fetched successfully", 200); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error fetching recurring payment status"); + return ApiResponse.ErrorResponse("An error occurred while fetching recurring payment status", ex.Message, 500); + } + } + #endregion + #region =================================================================== Currency APIs =================================================================== public async Task> GetCurrencyAsync(Employee loggedInEmployee, Guid tenantId) diff --git a/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs b/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs index 4f64f8a..d5fe079 100644 --- a/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs +++ b/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs @@ -9,6 +9,12 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces { public interface IMasterService { + #region =================================================================== Recurring Payment Status APIs =================================================================== + + Task> GetRecurringPaymentStatusAsync(Employee loggedInEmployee, Guid tenantId); + + #endregion + #region =================================================================== Currency APIs =================================================================== Task> GetCurrencyAsync(Employee loggedInEmployee, Guid tenantId);