| | | 1 | | using System.ComponentModel.DataAnnotations; |
| | | 2 | | using OzonDomains; |
| | | 3 | | using OzonDomains.Models; |
| | | 4 | | |
| | | 5 | | namespace OzonOrdersWeb.Areas.Studio2.ViewModels.ApiSupplierSettings; |
| | | 6 | | |
| | | 7 | | /// <summary>Общие поля настроек каждого API-поставщика.</summary> |
| | | 8 | | public abstract class ApiSupplierSettingsViewModelBase |
| | | 9 | | { |
| | | 10 | | [Required, StringLength(120)] |
| | | 11 | | [Display(Name = "Название в интерфейсе")] |
| | 19 | 12 | | public string DisplayName { get; set; } = string.Empty; |
| | | 13 | | |
| | | 14 | | [Display(Name = "Системный поставщик")] |
| | 9 | 15 | | public int? SupplierId { get; set; } |
| | | 16 | | |
| | 19 | 17 | | public List<Supplier> Suppliers { get; set; } = new(); |
| | | 18 | | |
| | | 19 | | [Required] |
| | | 20 | | [Display(Name = "Валюта цен")] |
| | 14 | 21 | | public CurrencyCode CurrencyCode { get; set; } |
| | | 22 | | |
| | | 23 | | [Display(Name = "Загружать предложения в проценке")] |
| | 14 | 24 | | public bool IsQuotationEnabled { get; set; } = true; |
| | | 25 | | |
| | | 26 | | [StringLength(300)] |
| | | 27 | | [Display(Name = "Адрес доставки")] |
| | 4 | 28 | | public string? DeliveryAddress { get; set; } |
| | | 29 | | |
| | | 30 | | [Range(0, 720, ErrorMessage = "Доп. срок задаётся в часах, от 0 до 720 (30 суток).")] |
| | | 31 | | [Display(Name = "Доп. срок поставки, ч")] |
| | 9 | 32 | | public int ExtraDeliveryHours { get; set; } |
| | | 33 | | |
| | | 34 | | [Range(typeof(decimal), "0.0001", "100", ParseLimitsInInvariantCulture = true, |
| | | 35 | | ErrorMessage = "Коэффициент цены задаётся в диапазоне от 0,0001 до 100.")] |
| | | 36 | | [Display(Name = "Коэффициент цены")] |
| | 19 | 37 | | public decimal PriceMultiplier { get; set; } = 1m; |
| | | 38 | | |
| | | 39 | | /// <summary>Склады Studio2, с которыми работает поставщик. Пусто — ограничения нет.</summary> |
| | | 40 | | [Display(Name = "Склады поставщика")] |
| | 16 | 41 | | public List<int> WarehouseIds { get; set; } = new(); |
| | | 42 | | |
| | 16 | 43 | | public List<OzonDomains.Models.Warehouse> Warehouses { get; set; } = new(); |
| | | 44 | | |
| | 9 | 45 | | public decimal? CurrentRateToRub { get; set; } |
| | | 46 | | } |