feat:Initial commit
This commit is contained in:
19
StoreService/Models/CreateOrderRequest.cs
Normal file
19
StoreService/Models/CreateOrderRequest.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace StoreService.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Request body to create a new order consisting of store item identifiers.
|
||||
/// </summary>
|
||||
public class CreateOrderRequest
|
||||
{
|
||||
/// <summary>Identifier of the user creating the order.</summary>
|
||||
[Required]
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>Collection of store item ids to include (unique). Duplicates are ignored.</summary>
|
||||
[Required]
|
||||
[MinLength(1)]
|
||||
public List<long> StoreItemIds { get; set; } = new();
|
||||
}
|
||||
|
||||
15
StoreService/Models/OrderDto.cs
Normal file
15
StoreService/Models/OrderDto.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
namespace StoreService.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Result DTO representing an order summary.
|
||||
/// </summary>
|
||||
public class OrderDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public long UserId { get; set; }
|
||||
public DateTime CostUpdateDate { get; set; }
|
||||
public DateTime? PaidDate { get; set; }
|
||||
public bool ItemsRedeemed { get; set; }
|
||||
public List<OrderItemDto> Items { get; set; } = new();
|
||||
}
|
||||
|
||||
13
StoreService/Models/OrderItemDto.cs
Normal file
13
StoreService/Models/OrderItemDto.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
namespace StoreService.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Order line DTO.
|
||||
/// </summary>
|
||||
public class OrderItemDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public long StoreItemId { get; set; }
|
||||
public int CalculatedPrice { get; set; }
|
||||
public List<long> AppliedDiscountIds { get; set; } = new();
|
||||
}
|
||||
|
||||
3
StoreService/Models/OrderModels.cs
Normal file
3
StoreService/Models/OrderModels.cs
Normal file
@@ -0,0 +1,3 @@
|
||||
// Legacy aggregated models file kept intentionally empty after splitting into individual files.
|
||||
// CreateOrderRequest, OrderDto, and OrderItemDto now reside in separate files.
|
||||
|
||||
Reference in New Issue
Block a user