| | | 1 | | namespace Services.BitrixStockServices; |
| | | 2 | | |
| | | 3 | | /// <summary>Источник каталога для этапа 5 BitrixStock.</summary> |
| | | 4 | | public enum Stage5CatalogSource |
| | | 5 | | { |
| | | 6 | | /// <summary>Каталог из OzonApi.ozon_products + остатки через Ozon API.</summary> |
| | | 7 | | OzonProductsDb = 0, |
| | | 8 | | |
| | | 9 | | /// <summary>Legacy: xlsx-отчёт POST /v1/report/warehouse/stock.</summary> |
| | | 10 | | WarehouseStockReport = 1 |
| | | 11 | | } |
| | | 12 | | |
| | | 13 | | public static class Stage5CatalogSourceExtensions |
| | | 14 | | { |
| | | 15 | | public static Stage5CatalogSource Parse(string? value) |
| | | 16 | | { |
| | 4 | 17 | | if (string.IsNullOrWhiteSpace(value)) |
| | 2 | 18 | | return Stage5CatalogSource.OzonProductsDb; |
| | | 19 | | |
| | 2 | 20 | | return Enum.TryParse<Stage5CatalogSource>(value, ignoreCase: true, out var parsed) |
| | 2 | 21 | | ? parsed |
| | 2 | 22 | | : Stage5CatalogSource.OzonProductsDb; |
| | | 23 | | } |
| | | 24 | | |
| | | 25 | | public static string ToLogLabel(this Stage5CatalogSource source) => |
| | 2 | 26 | | source == Stage5CatalogSource.WarehouseStockReport |
| | 2 | 27 | | ? "Ozon xlsx warehouse/stock (legacy)" |
| | 2 | 28 | | : "OzonApi.ozon_products + остатки Ozon API"; |
| | | 29 | | } |