From 20b747e89c71fb4ee9962b1b226797fcdacd5d7e Mon Sep 17 00:00:00 2001 From: Khwezi Mngoma Date: Tue, 26 May 2026 00:47:07 +0200 Subject: [PATCH] Added Order models --- .../LiteCharms.Features.MidrandBooks.csproj | 4 ++ .../Order/Models/Order.cs | 22 +++++++ .../Order/Models/Refund.cs | 20 +++++++ .../Order/Models/Shipping.cs | 14 +++++ .../Order/Models/ShippingProvider.cs | 18 ++++++ .../Orders/Models/Order.cs | 4 +- LiteCharms.Features/Enums.cs | 58 +++++++++++++++++++ 7 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 LiteCharms.Features.MidrandBooks/Order/Models/Order.cs create mode 100644 LiteCharms.Features.MidrandBooks/Order/Models/Refund.cs create mode 100644 LiteCharms.Features.MidrandBooks/Order/Models/Shipping.cs create mode 100644 LiteCharms.Features.MidrandBooks/Order/Models/ShippingProvider.cs diff --git a/LiteCharms.Features.MidrandBooks/LiteCharms.Features.MidrandBooks.csproj b/LiteCharms.Features.MidrandBooks/LiteCharms.Features.MidrandBooks.csproj index 552ce45..34c16e0 100644 --- a/LiteCharms.Features.MidrandBooks/LiteCharms.Features.MidrandBooks.csproj +++ b/LiteCharms.Features.MidrandBooks/LiteCharms.Features.MidrandBooks.csproj @@ -163,4 +163,8 @@ + + + + diff --git a/LiteCharms.Features.MidrandBooks/Order/Models/Order.cs b/LiteCharms.Features.MidrandBooks/Order/Models/Order.cs new file mode 100644 index 0000000..e0c1c73 --- /dev/null +++ b/LiteCharms.Features.MidrandBooks/Order/Models/Order.cs @@ -0,0 +1,22 @@ +namespace LiteCharms.Features.MidrandBooks.Order.Models; + +public class Order +{ + public long Id { get; set; } + + public DateTime CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + public long CustomerId { get; set; } + + public OrderStatus Status { get; set; } + + public decimal Total { get; set; } + + public string[]? Notes { get; set; } + + public string[]? Terms { get; set; } + + public string? InvoiceUrl { get; set; } +} diff --git a/LiteCharms.Features.MidrandBooks/Order/Models/Refund.cs b/LiteCharms.Features.MidrandBooks/Order/Models/Refund.cs new file mode 100644 index 0000000..920145e --- /dev/null +++ b/LiteCharms.Features.MidrandBooks/Order/Models/Refund.cs @@ -0,0 +1,20 @@ +namespace LiteCharms.Features.MidrandBooks.Order.Models; + +public class Refund +{ + public Guid Id { get; set; } + + public DateTime CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + public Guid OrderId { get; set; } + + public RefundTypes Type { get; set; } + + public RefundStatus Status { get; set; } + + public string? Reason { get; set; } + + public decimal Amount { get; set; } +} diff --git a/LiteCharms.Features.MidrandBooks/Order/Models/Shipping.cs b/LiteCharms.Features.MidrandBooks/Order/Models/Shipping.cs new file mode 100644 index 0000000..975ab91 --- /dev/null +++ b/LiteCharms.Features.MidrandBooks/Order/Models/Shipping.cs @@ -0,0 +1,14 @@ +namespace LiteCharms.Features.MidrandBooks.Order.Models; + +public class Shipping +{ + public long Id { get; set; } + + public DateTime CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + public long OrderId { get; set; } + + public ShippingStatuses Status { get; set; } +} diff --git a/LiteCharms.Features.MidrandBooks/Order/Models/ShippingProvider.cs b/LiteCharms.Features.MidrandBooks/Order/Models/ShippingProvider.cs new file mode 100644 index 0000000..8c129b4 --- /dev/null +++ b/LiteCharms.Features.MidrandBooks/Order/Models/ShippingProvider.cs @@ -0,0 +1,18 @@ +namespace LiteCharms.Features.MidrandBooks.Order.Models; + +public class ShippingProvider +{ + public long Id { get; set; } + + public DateTime CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + public ShippingProviderTypes Type { get; set; } + + public string? Name { get; set; } + + public decimal? Price { get; set; } + + public bool Enabled { get; set; } +} diff --git a/LiteCharms.Features.TechShop/Orders/Models/Order.cs b/LiteCharms.Features.TechShop/Orders/Models/Order.cs index 2146423..b050337 100644 --- a/LiteCharms.Features.TechShop/Orders/Models/Order.cs +++ b/LiteCharms.Features.TechShop/Orders/Models/Order.cs @@ -1,6 +1,4 @@ -using LiteCharms.Features.TechShop; - -namespace LiteCharms.Features.TechShop.Orders.Models; +namespace LiteCharms.Features.TechShop.Orders.Models; public class Order { diff --git a/LiteCharms.Features/Enums.cs b/LiteCharms.Features/Enums.cs index 951c3ff..9cff19c 100644 --- a/LiteCharms.Features/Enums.cs +++ b/LiteCharms.Features/Enums.cs @@ -1,5 +1,63 @@ namespace LiteCharms.Features; +public enum ShippingProviderTypes : int +{ + Dsv = 0, + Pargo = 1, + Ram = 2, + TheCourierGuy = 3, + Paxi = 4, + FastWay = 5, + MdsCollivery = 6, + PostNet = 7, + Aramex = 8, + DHL = 9, + FedEx = 10, + UPS = 11, + USPS = 12, + AmazonLogistics = 13, + LocalCourier = 14, + Other = 15 +} + +public enum ShippingStatuses : int +{ + Pending = 0, + Shipped = 1, + Delivered = 2, + Returned = 3, + Cancelled = 4, +} + +public enum RefundTypes : int +{ + Full = 0, + Partial = 1, + StoreCredit = 2, + Exchange = 3, + Other = 4 +} + +public enum RefundStatus : int +{ + Pending = 0, + Approved = 1, + Rejected = 2, + Completed = 3, + Failed = 4, +} + +public enum OrderStatus : int +{ + Pending = 0, + Completed = 1, + Cancelled = 2, + Failed = 3, + Refunded = 4, + Error = 5, + OnHold = 6, +} + public enum ContactTypes : int { Personal = 0,