< Summary

Information
Class: OzonOrdersWeb.WebServices.Transactions.Grid.Contracts.TransactionGridExtraExpenseEdit
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Transactions/Grid/Contracts/TransactionGridRowEdit.cs
Line coverage
100%
Covered lines: 3
Uncovered lines: 0
Coverable lines: 3
Total lines: 87
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_ExpenseTypeId()100%11100%
get_Amount()100%11100%
get_Comment()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Transactions/Grid/Contracts/TransactionGridRowEdit.cs

#LineLine coverage
 1namespace OzonOrdersWeb.WebServices.Transactions.Grid.Contracts;
 2
 3/// <summary>
 4/// Редактируемая часть строки грида транзакций. При загрузке заполняется значениями из БД (с учётом определения:
 5/// очистка закупки, целевой статус), при проведении приходит от клиента вместе со списком изменённых полей.
 6/// </summary>
 7public sealed class TransactionGridRowEdit
 8{
 9    public int Id { get; set; }
 10
 11    public int? AppStatusId { get; set; }
 12    public int? SupplierId { get; set; }
 13    public int? ShipmentWarehouseId { get; set; }
 14
 15    /// <summary>Склад поставщика (OrderExtension «Засыл»).</summary>
 16    public string? Zasyl { get; set; }
 17
 18    public decimal? PurchasePrice { get; set; }
 19
 20    /// <summary>Цена закупки в БД до открытия страницы (для «вернуть как было» и для сравнения).</summary>
 21    public decimal? OriginalPurchasePrice { get; set; }
 22
 23    /// <summary>Остаток C0 из WarehouseStock — подсказка цены при пустой закупке.</summary>
 24    public decimal? WarehouseStockC0 { get; set; }
 25
 26    public decimal? Price { get; set; }
 27
 28    /// <summary>Актуальная цена сайта со скидкой — база расчёта прибыли (иначе Price).</summary>
 29    public decimal? CurrentPriceWithDiscount { get; set; }
 30
 31    public int? Quantity { get; set; }
 32    public int? OriginalQuantity { get; set; }
 33
 34    /// <summary>Количество с кратностью упаковки из ключа товара (Order.TrueQuantity) — число этикеток артикула.</summa
 35    public int? TrueQuantity { get; set; }
 36
 37    /// <summary>Ключ товара (ARTICLE=BRAND[N]) — из него клиент берёт партию N для проценки и корзины.</summary>
 38    public string? ProductKey { get; set; }
 39    public string? OrderNumberToSupplier { get; set; }
 40    public decimal? Weight { get; set; }
 41
 42    /// <summary>Производитель (для транзита утерь ShippedToSeller/LostByCommissioner).</summary>
 43    public string? Manufacturer { get; set; }
 44
 45    public List<TransactionGridExtraExpenseEdit> ExtraExpenses { get; set; } = new();
 46
 47    /// <summary>Склад-отправитель 1С для заказа (режимы PerOrder*).</summary>
 48    public string? SenderWarehouse { get; set; }
 49
 50    /// <summary>Склад-получатель 1С для заказа.</summary>
 51    public string? RecipientWarehouse { get; set; }
 52
 53    public bool CancelInOzon { get; set; }
 54    public long? OzonCancelReasonId { get; set; }
 55    public string? OzonCancelReasonTitle { get; set; }
 56    public string? OzonCancelReasonMessage { get; set; }
 57
 58    /// <summary>Страна происхождения (приходная накладная).</summary>
 59    public string? Country { get; set; }
 60
 61    /// <summary>Номер ГТД (приходная накладная).</summary>
 62    public string? Gtd { get; set; }
 63
 64    /// <summary>Заказ уже имеет GUID проводки 1С в истории (нужно для «Возврат на склад»).</summary>
 65    public bool HasPriorOneCGuid { get; set; }
 66
 67    /// <summary>Заказ получит только смену статуса без документа 1С (уже в одном из StatusOnlyWhenAlreadyIn).</summary>
 68    public bool StatusOnly { get; set; }
 69
 70    /// <summary>Предупреждения по строке (неверный исходный статус и т.п.) — строка блокируется на клиенте.</summary>
 71    public List<string> Warnings { get; set; } = new();
 72
 73    /// <summary>Подсказки склада-получателя по истории приходов 1С (ReturnToSupplier).</summary>
 74    public List<TransactionGridWarehouseSuggestion> RecipientSuggestions { get; set; } = new();
 75
 76    /// <summary>Имена полей, которые пользователь изменил (camelCase колонок грида). Заполняет клиент при проведении.</
 77    public List<string> Changed { get; set; } = new();
 78}
 79
 80public sealed class TransactionGridExtraExpenseEdit
 81{
 582    public int ExpenseTypeId { get; set; }
 483    public decimal Amount { get; set; }
 184    public string? Comment { get; set; }
 85}
 86
 87public sealed record TransactionGridWarehouseSuggestion(string Warehouse, DateTime? Date, string? DocumentNumber);