| | | 1 | | using System.ComponentModel.DataAnnotations; |
| | | 2 | | using System.ComponentModel.DataAnnotations.Schema; |
| | | 3 | | |
| | | 4 | | namespace OzonDomains.Models.SupplierStatuses; |
| | | 5 | | |
| | | 6 | | /// <summary> |
| | | 7 | | /// Справочник статусов API-поставщика. Держит обе стадии сразу (см. <see cref="StatusKind"/>): |
| | | 8 | | /// статусы корзины и статусы оформленного заказа. Цвет и признак конечного статуса наследуются |
| | | 9 | | /// от <see cref="BaseStatus"/> — так же, как у AppStatus и ClientStatus. |
| | | 10 | | /// </summary> |
| | | 11 | | [Table("SupplierStatuses")] |
| | | 12 | | public class SupplierStatus : BaseStatus |
| | | 13 | | { |
| | 219 | 14 | | public int Id { get; set; } |
| | | 15 | | |
| | | 16 | | /// <summary>Ключ провайдера: Avd / Armtek / ArmtekBy / MlAuto / MlAutoRu.</summary> |
| | | 17 | | [Required, MaxLength(64)] |
| | | 18 | | [Display(Name = "Поставщик (ключ API)")] |
| | 254 | 19 | | public string ProviderKey { get; set; } = string.Empty; |
| | | 20 | | |
| | | 21 | | /// <summary> |
| | | 22 | | /// Системный поставщик из справочника. Разрешается из ApiSupplierSettings.SupplierId |
| | | 23 | | /// и может остаться пустым, если связь провайдера с поставщиком ещё не настроена. |
| | | 24 | | /// </summary> |
| | | 25 | | [Display(Name = "Поставщик")] |
| | 61 | 26 | | public int? SupplierId { get; set; } |
| | | 27 | | |
| | 4 | 28 | | public virtual Supplier? Supplier { get; set; } |
| | | 29 | | |
| | | 30 | | /// <summary>Стадия: <see cref="SupplierStatusKind.Cart"/> или <see cref="SupplierStatusKind.Order"/>.</summary> |
| | | 31 | | [Required, MaxLength(10)] |
| | | 32 | | [Display(Name = "Стадия")] |
| | 234 | 33 | | public string StatusKind { get; set; } = SupplierStatusKind.Order; |
| | | 34 | | |
| | | 35 | | /// <summary> |
| | | 36 | | /// Код статуса на стороне поставщика: для корзины — Pending/Ready/…, |
| | | 37 | | /// для заказа — Status_id АВД, StatusCode ML-Auto, SubStatus Armtek. |
| | | 38 | | /// </summary> |
| | | 39 | | [MaxLength(64)] |
| | | 40 | | [Display(Name = "Код у поставщика")] |
| | 126 | 41 | | public string? ExternalCode { get; set; } |
| | | 42 | | |
| | | 43 | | [Required, MaxLength(200)] |
| | | 44 | | [Display(Name = "Статус поставщика")] |
| | 341 | 45 | | public string Name { get; set; } = string.Empty; |
| | | 46 | | |
| | | 47 | | [Display(Name = "Порядок")] |
| | 18 | 48 | | public int? SortOrder { get; set; } |
| | | 49 | | |
| | 159 | 50 | | public DateTime CreatedAt { get; set; } = DateTime.UtcNow; |
| | | 51 | | } |