diff --git a/DoliMiddlewareApi/Dtos/Enums/InvoiceStatus.cs b/DoliMiddlewareApi/Dtos/Enums/InvoiceStatus.cs new file mode 100644 index 0000000..4a5e6ab --- /dev/null +++ b/DoliMiddlewareApi/Dtos/Enums/InvoiceStatus.cs @@ -0,0 +1,23 @@ +namespace DoliMiddlewareApi.Dtos.Enums; + +public enum InvoiceStatus +{ + Draft = 0, + Validated = 1, + Paid = 2, + Unknown = 3 +} + +public static class InvoiceStatusMapper +{ + public static InvoiceStatus FromDolibarrStatus(string status) + { + return status switch + { + "0" => InvoiceStatus.Draft, + "1" => InvoiceStatus.Validated, + "2" => InvoiceStatus.Paid, + _ => InvoiceStatus.Unknown + }; + } +} \ No newline at end of file diff --git a/DoliMiddlewareApi/Dtos/InvoiceDto.cs b/DoliMiddlewareApi/Dtos/InvoiceDto.cs new file mode 100644 index 0000000..ece8bc5 --- /dev/null +++ b/DoliMiddlewareApi/Dtos/InvoiceDto.cs @@ -0,0 +1,18 @@ +using DoliMiddlewareApi.Dtos.Enums; + +namespace DoliMiddlewareApi.Dtos; + +public class InvoiceDto +{ + public int Id { get; set; } + public string Number { get; set; } + public DateTime? Date { get; set; } + public DateTime? ExpireDate { get; set; } + public int ClientId { get; set; } + public decimal? Total { get; set; } + public decimal? RemainToPay { get; set; } + public InvoiceStatus Status { get; set; } + + + +} \ No newline at end of file