namespace ComplianceDAL.DTO.GSTReturn; public class CompliancePeriodDTO { public int PeriodId { get; set; } public string Framework { get; set; } = "GST_INDIA"; public string GSTIN { get; set; } = string.Empty; public string ReturnType { get; set; } = string.Empty; public int PeriodYear { get; set; } public int PeriodMonth { get; set; } public string Status { get; set; } = "NotStarted"; public DateTime? SubmittedOn { get; set; } public string AckNumber { get; set; } = string.Empty; public DateTime? FiledOn { get; set; } public string ConfirmationNumber { get; set; } = string.Empty; public int ClientId { get; set; } public string DatabaseName { get; set; } = string.Empty; public int? ModifiedById { get; set; } public DateTime? ModifiedOn { get; set; } } public class GetReturnStatusRequestDTO { public string GSTIN { get; set; } = string.Empty; public string ReturnPeriod { get; set; } = string.Empty; // MMYYYY public string ReturnType { get; set; } = "GSTR1"; public string Framework { get; set; } = "GST_INDIA"; } public class ReturnStatusListFilterDTO { public string Framework { get; set; } = "GST_INDIA"; public string GSTIN { get; set; } = string.Empty; public string ReturnType { get; set; } = string.Empty; public int PeriodYear { get; set; } } public class SyncReturnStatusRequestDTO { public string GSTIN { get; set; } = string.Empty; public string ReturnPeriod { get; set; } = string.Empty; // MMYYYY public string ReturnType { get; set; } = "GSTR1"; } // GSTR-3B DTOs public class GSTR3BDTO { public string GSTIN { get; set; } = string.Empty; public string ReturnPeriod { get; set; } = string.Empty; public GSTR3BSection31DTO Section31 { get; set; } = new(); public GSTR3BSummaryDTO Summary { get; set; } = new(); } public class GSTR3BSection31DTO { // 3.1(a) Outward taxable supplies (other than zero rated, nil and exempted) public decimal TaxableValueA { get; set; } public decimal IGSTAmountA { get; set; } public decimal CGSTAmountA { get; set; } public decimal SGSTAmountA { get; set; } public decimal CessAmountA { get; set; } // 3.1(b) Outward taxable supplies (zero rated) public decimal TaxableValueB { get; set; } public decimal IGSTAmountB { get; set; } public decimal CessAmountB { get; set; } // 3.1(c) Other outward supplies (Nil rated, exempted) public decimal TaxableValueC { get; set; } // 3.1(d) Inward supplies liable to reverse charge — populated in Phase 5 public decimal TaxableValueD { get; set; } public decimal IGSTAmountD { get; set; } public decimal CGSTAmountD { get; set; } public decimal SGSTAmountD { get; set; } public decimal CessAmountD { get; set; } // Credit note adjustments public decimal CDNRIGSTAmount { get; set; } public decimal CDNRCGSTAmount { get; set; } public decimal CDNRSGSTAmount { get; set; } } public class GSTR3BSummaryDTO { public decimal NetIGST { get; set; } public decimal NetCGST { get; set; } public decimal NetSGST { get; set; } public decimal NetCess { get; set; } public decimal TotalTaxLiability { get; set; } } public class SubmitGSTR3BRequestDTO { public string GSTIN { get; set; } = string.Empty; public string ReturnPeriod { get; set; } = string.Empty; public string EVCOtp { get; set; } = string.Empty; } // Raw row for computing GSTR-3B section 3.1 from DB — public for DAL/BLL access public class GSTR3BOutwardRawDTO { public decimal TaxableValueA { get; set; } public decimal IGSTAmountA { get; set; } public decimal CGSTAmountA { get; set; } public decimal SGSTAmountA { get; set; } public decimal CessAmountA { get; set; } public decimal TaxableValueB { get; set; } public decimal IGSTAmountB { get; set; } public decimal CessAmountB { get; set; } public decimal TaxableValueC { get; set; } public decimal CDNRIGSTAmount { get; set; } public decimal CDNRCGSTAmount { get; set; } public decimal CDNRSGSTAmount { get; set; } }