Distribution_GL Initialization

This commit is contained in:
2026-10-20 13:07:07 +05:30
commit 3f16e0cb44
194 changed files with 35659 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
using System.Text.Json;
using General_Ledger_Service.DTOs.Accounts;
using General_Ledger_Service.DTOs.Common;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IAccountService
{
Task<ApiResponse> CreateAccountAsync(CreateAccountRequest request);
Task<ApiResponse> GetAccountByCodeAsync(string accountCode, string? expand);
Task<ApiResponse> UpdateAccountAsync(string accountCode, Dictionary<string, JsonElement> payload);
Task<ApiResponse> ListAccountsAsync(ListAccountsRequest request);
}
}
+10
View File
@@ -0,0 +1,10 @@
using General_Ledger_Service.DTOs.AuditLog;
using General_Ledger_Service.DTOs.Common;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IAuditLogService
{
Task<ApiResponse> ListAsync(ListAuditLogRequest request);
}
}
+24
View File
@@ -0,0 +1,24 @@
using General_Ledger_Service.DTOs.Bank;
using General_Ledger_Service.DTOs.Common;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IBankService
{
Task<ApiResponse> CreateBankAccountAsync(CreateBankAccountRequest request);
Task<ApiResponse> ImportStatementLinesAsync(long bankAccountId, Stream fileStream);
Task<ApiResponse> ReconcileStatementLineAsync(long stmtLineId, ReconcileStatementLineRequest request);
Task<ApiResponse> ListCashAndBankAccountsAsync(string? accountType);
Task<ApiResponse> CreateCashAccountAsync(CreateCashAccountRequest request);
Task<ApiResponse> ListCashAccountTypesAsync();
/// <summary>Renames a cash account — the only field a default cash account allows changing.</summary>
Task<ApiResponse> UpdateCashAccountAsync(long cashAccountId, UpdateCashAccountRequest request);
/// <summary>Activates/deactivates a cash account. Throws if deactivating the default one.</summary>
Task<ApiResponse> SetCashAccountStatusAsync(long cashAccountId, SetCashAccountStatusRequest request);
/// <summary>Deletes a cash account. Throws if it is the default one.</summary>
Task<ApiResponse> DeleteCashAccountAsync(long cashAccountId);
}
}
+12
View File
@@ -0,0 +1,12 @@
using General_Ledger_Service.DTOs.Budget;
using General_Ledger_Service.DTOs.Common;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IBudgetService
{
Task<ApiResponse> CreateAsync(CreateBudgetRequest request);
Task<ApiResponse> AddLinesAsync(long budgetId, List<BudgetLineRequest> request);
Task<ApiResponse> ListAsync();
}
}
+23
View File
@@ -0,0 +1,23 @@
using System.Text.Json;
using General_Ledger_Service.DTOs.Cheques;
using General_Ledger_Service.DTOs.Common;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IChequeService
{
Task<ApiResponse> CreateChequeBookAsync(CreateChequeBookRequest request);
Task<ApiResponse> GetChequeBookByNoAsync(string chequeBookNo, string? expand);
Task<ApiResponse> ListChequeBooksAsync(ListChequeBooksRequest request);
Task<ApiResponse> IssueChequePageAsync(string chequeNo, IssueChequePageRequest request);
Task<ApiResponse> UpdateChequePageStatusAsync(string chequeNo, Dictionary<string, JsonElement> payload);
Task<ApiResponse> GetChequePageByNoAsync(string chequeNo);
Task<ApiResponse> ListChequePagesAsync(ListChequePagesRequest request);
Task<ApiResponse> CreateReceivedChequeAsync(CreateReceivedChequeRequest request);
Task<ApiResponse> UpdateReceivedChequeStatusAsync(long receivedChequeId, Dictionary<string, JsonElement> payload);
Task<ApiResponse> GetReceivedChequeByIdAsync(long receivedChequeId);
Task<ApiResponse> ListReceivedChequesAsync(ListReceivedChequesRequest request);
}
}
+11
View File
@@ -0,0 +1,11 @@
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.CostCenters;
namespace General_Ledger_Service.Interfaces.Services
{
public interface ICostCenterService
{
Task<ApiResponse> CreateCostCenterAsync(CreateCostCenterRequest request);
Task<ApiResponse> GetCostCenterByCodeAsync(string costCenterCode, string? expand);
}
}
+9
View File
@@ -0,0 +1,9 @@
using General_Ledger_Service.DTOs.Common;
namespace General_Ledger_Service.Interfaces.Services
{
public interface ICurrencyService
{
Task<ApiResponse> ListCurrenciesAsync();
}
}
+9
View File
@@ -0,0 +1,9 @@
using General_Ledger_Service.DTOs.Common;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IDevToolsService
{
ApiResponse GenerateApiKey();
}
}
@@ -0,0 +1,14 @@
using System.Text.Json;
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.FiscalCalendar;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IFiscalCalendarService
{
Task<ApiResponse> CreateFiscalYearAsync(CreateFiscalYearRequest request);
Task<ApiResponse> GeneratePeriodsAsync(int fiscalYearId, GeneratePeriodsRequest request);
Task<ApiResponse> LockPeriodAsync(int periodId, Dictionary<string, JsonElement> payload);
Task<ApiResponse> GetPeriodByDateAsync(DateOnly date);
}
}
+12
View File
@@ -0,0 +1,12 @@
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.FixedAssets;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IFixedAssetService
{
Task<ApiResponse> CreateAsync(CreateFixedAssetRequest request);
Task<ApiResponse> CreateTransactionAsync(string assetCode, CreateFixedAssetTransactionRequest request);
Task<ApiResponse> ListAsync();
}
}
@@ -0,0 +1,11 @@
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.JournalEntries;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IJournalEntryService
{
Task<ApiResponse> CreateAsync(CreateJournalEntryRequest request);
Task<ApiResponse> GetByJournalNoAsync(string journalNo);
}
}
@@ -0,0 +1,11 @@
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.RecurringTemplates;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IRecurringTemplateService
{
Task<ApiResponse> CreateAsync(CreateRecurringTemplateRequest request);
Task<ApiResponse> GenerateAsync(long templateId);
}
}
+10
View File
@@ -0,0 +1,10 @@
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.Reports;
namespace General_Ledger_Service.Interfaces.Services
{
public interface IReportService
{
Task<ApiResponse> GenerateAsync(ListReportsRequest request);
}
}
@@ -0,0 +1,11 @@
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.SystemConfig;
namespace General_Ledger_Service.Interfaces.Services
{
public interface ISystemConfigService
{
Task<ApiResponse> UpdateAsync(string key, UpdateSystemConfigRequest request);
Task<ApiResponse> ListAsync();
}
}
+13
View File
@@ -0,0 +1,13 @@
using General_Ledger_Service.DTOs.Common;
using General_Ledger_Service.DTOs.Tax;
namespace General_Ledger_Service.Interfaces.Services
{
public interface ITaxService
{
Task<ApiResponse> CreateTaxCodeAsync(CreateTaxCodeRequest request);
Task<ApiResponse> CalculateTaxAsync(CalculateTaxRequest request);
Task<ApiResponse> ListTaxTypesAsync();
Task<ApiResponse> ListTaxCodesAsync();
}
}