DTO - gro1vy/DeliverServiceAPI GitHub Wiki

DishBasketDTO

Данная модель используется в контроллере и сервисе Basket для показа информации о блюде в корзине пользователя. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class DishBasketDTO
{
    public Guid Id { get; set; }
    [Required]
    [MaxLength(1)]
    public string Name { get; set; }
    [Required]
    public double Price { get; set; }
    [Required]
    public double TotalPrice { get; set; }
    [Required]
    public int Amount { get; set; }
    public string Image { get; set; }
}

DishDTO

Данная модель используется в контроллере и сервисе Dish для показа информации о конкретном блюде. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class DishDTO
{
    public Guid Id { get; set; }
    [MinLength(1)]
    public string Name { get; set; }
    public string? Description { get; set; }
    [DataType(DataType.Currency)]
    public double Price { get; set; }
    public string? Image { get; set; }
    public bool IsVegetairian { get; set; }
    [DataType(DataType.Currency)]
    public decimal? Rating { get; set; }
    public DishCategory Category { get; set; }
}

DishPagedListDTO

Данная модель используется в контроллере и сервисе Dish для показа информации о текущей страницы и блюдах, которые находятся на ней. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class DishPagedListDTO
{
    public List<DishDTO>? Dishes { get; set; }
    public PageInfoDTO Pagination { get; set; }
}

LoginRequestDTO

Данная модель используется в контроллере и сервисе Account и UserRepository соответственно для отправки запроса входа в аккаунт. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class LoginRequestDTO
{
    [Required]
    [MinLength(1)]
    [EmailAddress]
    public string Email { get; set; }
    [Required]
    [MinLength(1)]
    public string Password { get; set; }
}

OrderCreateDTO

Данная модель используется в контроллере и сервисе Order для отправки запроса на создание заказа. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class OrderCreateDTO
{
    public DateTime DeliveryTime { get; set; }
    public Guid AddressId { get; set; }
}

OrderDTO

Данная модель используется в контроллере и сервисе Order для показа информации о конкретном заказе и блюдах, которые в него входят. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class OrderDTO
{
    public Guid Id { get; set; }
    public DateTime DeliveryTime { get; set; }
    public DateTime OrderTime { get; set; }
    public Status Status { get; set; }
    public Guid Address { get; set; }
    public List<DishBasketDTO> Dishes { get; set; }
}

OrderInfoDTO

Данная модель используется в контроллере и сервисе Order для показа информации о заказе в списке. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class OrderInfoDTO
{
    public Guid Id { get; set; }
    public DateTime DeliveryTime { get; set; }
    public DateTime OrderTime { get; set; }
    public Status Status { get; set; }
    public double Price { get; set; }
}

PageInfoDTO

Данная модель используется в модели DishPagedListDTO для показа информации о параметрах страницы. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

 public class PageInfoDTO
 {
     public int Size { get; set; }
     public int Count { get; set; }
     public int Current { get; set; }
 }

RefreshDTO

Данная модель используется в контроллере и сервисе Account и UserRepository соответственно для запроса на обновления access токена. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class RefreshDTO
{
    [Required]
    public string AccessToken { get; set; }
    [Required]
    public string RefreshToken { get; set; }
}

RegionTimeZoneDTO

Данная модель используется в контроллере и сервисе Address для показа разности времени с Москвой в регионе. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class RegionTimeZoneDTO
{
    public string Region { get; set; }
    public int TimeDifferenceWithMoscow { get; set; }
}

RegistrationRequestDTO

Данная модель используется в контроллере и сервисе Account и UserRepository соответственно для запроса на регистрацию нового пользователя. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class RegistrationRequestDTO
{
    [Required]
    [MinLength(1)]
    public string FullName { get; set; }
    [Required]
    [MinLength(6)]
    [CustomPassword(Nullable = false)]
    public string Password { get; set; }
    [Required]
    [MinLength(1)]
    [EmailAddress]
    public string Email { get; set; }
    public Guid? AddressId { get; set; }
    public DateTime? BirthDate { get; set; }
    [Required]
    public Gender Gender { get; set; }
    [CustomPhone(Nullable = true)]
    public string? PhoneNumber { get; set; }
}

ResponseDTO

Данная модель используется в ExceptionHandlingMiddleware для ответа пользователю, что произошла ошибка. Об этом middleware можно узнать в разделе Middlewares.

public class ResponseDTO
{
    public int? Status { get; set; }
    public string? Message { get; set; }
}

SearchAddressDTO

Данная модель используется в контроллере и сервисе Address для показа информации об адресном элементе. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

 public class SearchAddressDTO
 {
     public int ObjectId { get; set; }
     public Guid ObjectGuid { get; set; }
     public string Text { get; set; }
     public GarAddressLevel ObjectLevel { get; set; }
     public string? ObjectLevelText { get; set; }
}

TokenLogoutDTO

Данная модель используется в контроллере и сервисе Account и UserRepository соответственно для запроса на выход из аккаунта. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class TokenLogoutDTO
{
    [Required]
    public string RefreshToken { get; set; }
}

TokenResponseDTO

Данная модель используется в контроллере и сервисе Account и UserRepository соответсвенно для отправки пользователю токенов access и refresh. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class TokenResponseDTO
{
    [Required]
    public string AccessToken { get; set; }
    [Required]
    public string RefreshToken { get; set; }
}

UserEditRequestDTO

Данная модель используется в контроллере и сервисе Account и UserRepository соответственно для запроса на изменение информации о пользователе. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class UserEditRequestDTO
{
    [Required]
    [MinLength(1)]
    public string FullName { get; set; }
    [Required]
    [EmailAddress]
    public string Email { get; set; }
    public DateTime? BirthDate { get; set; }
    [Required]
    public Gender Gender { get; set; }
    public Guid? AddressId { get; set; }
    [CustomPhone(Nullable = true)]
    public string? PhoneNumber { get; set; }
}

UserResponseDTO

Данная модель используется в контроллере и сервисе Account и UserRepository соответственно для показа текущей информации о пользователе. О сервисе и контроллере можно узнать по соответствующим ссылкам Services и Controllers.

public class UserResponseDTO
{
    [Required]
    public Guid Id { get; set; }
    [Required]
    [MinLength(1)]
    public string FullName { get; set; }
    public DateTime? BirthDate { get; set; }
    [Required]
    public Gender Gender { get; set; }
    public Guid? AddressId { get; set; }
    [Required]
    [MaxLength(1)]
    public string Email { get; set; }
    public string? PhoneNumber { get; set; }
}
⚠️ **GitHub.com Fallback** ⚠️