using System.ComponentModel.DataAnnotations; namespace LittleShop.DTOs; public class ShippingRateDto { public Guid Id { get; set; } public string Name { get; set; } = string.Empty; public string? Description { get; set; } public string Country { get; set; } = string.Empty; public decimal MinWeight { get; set; } public decimal MaxWeight { get; set; } public decimal Price { get; set; } public int MinDeliveryDays { get; set; } public int MaxDeliveryDays { get; set; } public bool IsActive { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } } public class CreateShippingRateDto { [Required] [StringLength(100)] public string Name { get; set; } = string.Empty; [StringLength(500)] public string? Description { get; set; } [Required] [StringLength(100)] public string Country { get; set; } = "United Kingdom"; [Required] [Range(0, double.MaxValue)] public decimal MinWeight { get; set; } [Required] [Range(0, double.MaxValue)] public decimal MaxWeight { get; set; } [Required] [Range(0, double.MaxValue)] public decimal Price { get; set; } [Required] [Range(1, 365)] public int MinDeliveryDays { get; set; } = 1; [Required] [Range(1, 365)] public int MaxDeliveryDays { get; set; } = 3; public bool IsActive { get; set; } = true; } public class UpdateShippingRateDto : CreateShippingRateDto { }