| | | 1 | | namespace Services.PartnerServices; |
| | | 2 | | |
| | | 3 | | /// <summary> |
| | | 4 | | /// Что партнёр видит о заказе. Намеренно без закупочных цен, поставщика, себестоимости, прибыли, |
| | | 5 | | /// комиссий и прочих внутренних полей Studio2. |
| | | 6 | | /// </summary> |
| | | 7 | | public sealed record PartnerOrderListItemDto( |
| | | 8 | | int Id, |
| | | 9 | | string? ShipmentNumber, |
| | | 10 | | string? ProductName, |
| | | 11 | | string? Article, |
| | | 12 | | string? Brand, |
| | | 13 | | int? Quantity, |
| | | 14 | | decimal? Price, |
| | | 15 | | string? ImageUrl, |
| | | 16 | | int? StatusId, |
| | | 17 | | string? Status, |
| | | 18 | | string? OzonStatus, |
| | | 19 | | int? WarehouseId, |
| | | 20 | | string? Warehouse, |
| | | 21 | | int? ClientId, |
| | | 22 | | string? Client, |
| | | 23 | | string? Marketplace, |
| | | 24 | | DateTime? ProcessingDate, |
| | | 25 | | DateTime? ShippingDate, |
| | | 26 | | string? TrackingNumber, |
| | | 27 | | bool HasLabel, |
| | | 28 | | /// <summary>Штрихкод ScanIt новой этикетки FBS Ozon (из модели заказа). Пусто, пока Ozon его не отдал.</summary> |
| | | 29 | | string? Scanit = null); |
| | | 30 | | |
| | | 31 | | public sealed record PartnerOrderDetailsDto( |
| | | 32 | | PartnerOrderListItemDto Order, |
| | | 33 | | string? DeliveryCity, |
| | | 34 | | string? Barcode, |
| | | 35 | | string? Comment, |
| | | 36 | | DateTime? LastStatusChangeDate, |
| | | 37 | | /// <summary>Штрихкод ScanIt с новой этикетки FBS Ozon (из модели заказа), по нему этикетка связывается с заказом. П |
| | | 38 | | string? Scanit = null); |
| | | 39 | | |
| | | 40 | | public sealed record PartnerOrderQuery( |
| | | 41 | | string? Search = null, |
| | | 42 | | int? StatusId = null, |
| | | 43 | | int? WarehouseId = null, |
| | | 44 | | int? ClientId = null, |
| | | 45 | | DateTime? From = null, |
| | | 46 | | DateTime? To = null, |
| | | 47 | | int Page = 1, |
| | | 48 | | int PageSize = 50, |
| | | 49 | | /// <summary>Точный отображаемый статус Ozon (например, «Ожидает сборки»).</summary> |
| | | 50 | | string? OzonStatus = null); |
| | | 51 | | |
| | | 52 | | public sealed record PartnerPage<T>(IReadOnlyList<T> Items, int Total, int Page, int PageSize); |
| | | 53 | | |
| | | 54 | | public sealed record PartnerFilterOption(int Id, string Name); |
| | | 55 | | |
| | | 56 | | public sealed record PartnerOrderFilters( |
| | | 57 | | IReadOnlyList<PartnerFilterOption> Statuses, |
| | | 58 | | IReadOnlyList<PartnerFilterOption> Warehouses, |
| | | 59 | | IReadOnlyList<PartnerFilterOption> Clients, |
| | | 60 | | /// <summary>Статусы Ozon, которые реально видит партнёр в списке заказов.</summary> |
| | | 61 | | IReadOnlyList<string> OzonStatuses); |
| | | 62 | | |
| | | 63 | | /// <summary>Короткая безопасная строка для подсказки поиска; внутренних цен и поставщика здесь нет.</summary> |
| | 2 | 64 | | public sealed record PartnerOrderSuggestion( |
| | 2 | 65 | | int Id, |
| | 4 | 66 | | string? ShipmentNumber, |
| | 2 | 67 | | string? ProductName, |
| | 2 | 68 | | string? Article, |
| | 2 | 69 | | string? TrackingNumber, |
| | 2 | 70 | | string? Scanit, |
| | 4 | 71 | | string? OzonStatus); |
| | | 72 | | |
| | | 73 | | public sealed record PartnerLabelFile(byte[] Content, string FileName); |
| | | 74 | | |
| | | 75 | | /// <summary>Результат предпросмотра правил: всего подходит <see cref="Count"/>, в <see cref="Ids"/> первые <see cref="L |
| | | 76 | | public sealed record PartnerRulesPreview(int Count, IReadOnlyList<int> Ids, bool Truncated, int Limit); |