< Summary

Information
Class: OServices.FiltersServices.FilterModels.OrderFilterModel
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/FiltersServices/FilterModels/OrderFilterModel.cs
Line coverage
100%
Covered lines: 85
Uncovered lines: 0
Coverable lines: 85
Total lines: 260
Line coverage: 100%
Branch coverage
100%
Covered branches: 10
Total branches: 10
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Search()100%11100%
get_HasOzonPromotion()100%11100%
get_Key()100%11100%
get_ShipmentNumber()100%11100%
get_ProcessingDate()100%11100%
get_ShippingDate()100%11100%
get_TimeLeftDay()100%11100%
get_Status()100%11100%
set_Status(...)100%22100%
get_AppStatus()100%11100%
set_AppStatus(...)100%22100%
get_SupplierStatusId()100%11100%
get_ShipmentAmount()100%11100%
get_ProductName()100%11100%
get_Article()100%11100%
get_Article2()100%11100%
get_ArticleExactMatch()100%11100%
get_Barcode()100%11100%
get_Manufacturer()100%11100%
get_Price()100%11100%
get_Quantity()100%11100%
get__shipmentWarehouse()100%11100%
get_ShipmentWarehouse()100%11100%
set_ShipmentWarehouse(...)100%22100%
get_Сurrency()100%11100%
get_Supplier()100%11100%
set_Supplier(...)100%22100%
get_OrderNumberToSupplier()100%11100%
get_PurchasePrice()100%11100%
get_CommercialCategory()100%11100%
get_Volume()100%11100%
get_VolumetricWeight()100%11100%
get_CurrentPriceWithDiscount()100%11100%
get_OzonCommission()100%11100%
get_Profit()100%11100%
get_ProfitMin()100%11100%
get_ProfitMax()100%11100%
get_OnlyNegativeProfit()100%11100%
get_OnlyPositiveProfit()100%11100%
get_Discount()100%11100%
get_DiscountMin()100%11100%
get_DiscountMax()100%11100%
get_OnlyNegativeDiscount()100%11100%
get_DeliveryCity()100%11100%
get_NewCategory()100%11100%
get_OzonClient()100%11100%
set_OzonClient(...)100%22100%
get_CostPrice()100%11100%
get_DeliveryPeriod()100%11100%
get_ShippingDateFrom()100%11100%
get_ShippingDateTo()100%11100%
get_LastStatusChangeDate()100%11100%
get_LastStatusChangeDateFrom()100%11100%
get_LastStatusChangeDateTo()100%11100%
get_Delivery()100%11100%
get_Provider()100%11100%
get_DeliveryName()100%11100%
get_TrackingNumber()100%11100%
get_Scanit()100%11100%
get_LastMonths()100%11100%
get_IncludeArchived()100%11100%
get_GroupByShipment()100%11100%
get_SyncClientStatusesOnLoad()100%11100%
get_OnlyWithZasyl()100%11100%
get_OnlyWithReturns()100%11100%
get_ReturnLogisticBarcode()100%11100%
get_ReturnStatusSysName()100%11100%
get_ReturnWarehouseName()100%11100%
get_ReturnStatusChangeDate()100%11100%
get_OnlyWithTrackingNumber()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/FiltersServices/FilterModels/OrderFilterModel.cs

#LineLine coverage
 1namespace OServices.FiltersServices.FilterModels
 2{
 3    public class OrderFilterModel : ITableFilterModel
 4    {
 5        /// <summary>
 6        /// Быстрый поиск из шапки: номер заказа, артикул или название товара (логика OR).
 7        /// </summary>
 1418        public string? Search { get; set; }
 9
 10        /// <summary>Участие товара в любой акции Ozon в момент импорта заказа.</summary>
 4911        public bool? HasOzonPromotion { get; set; }
 12
 4613        public string? Key { get; set; }
 14
 15
 12716        public string? ShipmentNumber { get; set; }
 17
 5818        public DateTime? ProcessingDate { get; set; }
 19
 4020        public DateTime? ShippingDate { get; set; }
 21
 4122        public int? TimeLeftDay { get; set; }
 23
 24        private string? _status;
 25
 26        public string? Status
 27        {
 5128            get { return _status; }
 29            set
 30            {
 531                if (value == "Все")
 32                {
 133                    _status = null;
 34                }
 35                else
 36                {
 437                    _status = value;
 38                }
 439            }
 40        }
 41
 42        private string? _appStatus;
 43
 44        public string? AppStatus
 45        {
 6546            get { return _appStatus; }
 47            set
 48            {
 2949                if (value == "Все")
 50                {
 451                    _appStatus = null;
 52                }
 53                else
 54                {
 2555                    _appStatus = value;
 56                }
 2557            }
 58        }
 59
 60        /// <summary>Идентификатор текущего статуса у API-поставщика.</summary>
 4261        public int? SupplierStatusId { get; set; }
 62
 63
 3764        public decimal? ShipmentAmount { get; set; }
 65
 9966        public string? ProductName { get; set; }
 67
 10768        public string? Article { get; set; }
 69
 7270        public string? Article2 { get; set; }
 71
 3172        public bool ArticleExactMatch { get; set; } = false;
 73
 1074        public string? Barcode { get; set; }
 75
 4976        public string? Manufacturer { get; set; }
 1577        public decimal? Price { get; set; }
 78
 1279        public int? Quantity { get; set; }
 80
 5381        public string? _shipmentWarehouse { get; set; }
 82
 83        public string? ShipmentWarehouse
 84        {
 2685            get { return _shipmentWarehouse; }
 86            set
 87            {
 2288                if (value == "Все")
 89                {
 190                    _shipmentWarehouse = null;
 91                }
 92                else
 93                {
 2194                    _shipmentWarehouse = value;
 95                }
 2196            }
 97        }
 98
 999        public string? Сurrency { get; set; }
 100
 101        private string? _supplier;
 102
 103        public string? Supplier
 104        {
 58105            get { return _supplier; }
 106            set
 107            {
 31108                if (value == "Все")
 109                {
 1110                    _supplier = null;
 111                }
 112                else
 113                {
 30114                    _supplier = value;
 115                }
 30116            }
 117        }
 118
 9119        public string? OrderNumberToSupplier { get; set; } = null;
 120
 9121        public decimal? PurchasePrice { get; set; }
 122
 10123        public string? CommercialCategory { get; set; }
 124
 5125        public double? Volume { get; set; }
 126
 9127        public double? VolumetricWeight { get; set; }
 128
 9129        public decimal? CurrentPriceWithDiscount { get; set; }
 130
 9131        public decimal? OzonCommission { get; set; }
 132
 14133        public decimal? Profit { get; set; }
 134        /// <summary>MinProfit &gt; ProfitMin</summary>
 39135        public decimal? ProfitMin { get; set; }
 136        /// <summary>MinProfit &lt; ProfitMax</summary>
 37137        public decimal? ProfitMax { get; set; }
 138        /// <summary>Показать только убыточные заказы (MinProfit &lt; 0)</summary>
 48139        public bool OnlyNegativeProfit { get; set; } = false;
 140        /// <summary>Показать только прибыльные заказы (MinProfit &gt; 0)</summary>
 9141        public bool OnlyPositiveProfit { get; set; } = false;
 142
 10143        public decimal? Discount { get; set; }
 144        /// <summary>MinDiscount &gt; DiscountMin%</summary>
 11145        public decimal? DiscountMin { get; set; }
 146        /// <summary>MinDiscount &lt; DiscountMax%</summary>
 11147        public decimal? DiscountMax { get; set; }
 148        /// <summary>Показать только записи с отрицательной наценкой (MinDiscount &lt; 0)</summary>
 9149        public bool OnlyNegativeDiscount { get; set; } = false;
 150
 33151        public string? DeliveryCity { get; set; }
 152
 30153        public string? NewCategory { get; set; }
 154
 155        private string? _ozonClient;
 156
 157        public string? OzonClient
 158        {
 26159            get { return _ozonClient; }
 160            set
 161            {
 21162                if (value == "Все")
 163                {
 1164                    _ozonClient = null;
 165                }
 166                else
 167                {
 20168                    _ozonClient = value;
 169                }
 20170            }
 171        }
 172
 9173        public decimal? CostPrice { get; set; }
 174
 11175        public string? DeliveryPeriod { get; set; }
 176
 177        /// <summary>
 178        /// Начало периода даты отгрузки (включительно).
 179        /// Используется, например, в клиентском экспорте.
 180        /// </summary>
 26181        public DateTime? ShippingDateFrom { get; set; }
 182
 183        /// <summary>
 184        /// Конец периода даты отгрузки (включительно).
 185        /// </summary>
 26186        public DateTime? ShippingDateTo { get; set; }
 187
 188        /// <summary>
 189        /// Точечный фильтр по дате изменения статуса (основная страница).
 190        /// Для периодов используются LastStatusChangeDateFrom / To.
 191        /// </summary>
 9192        public DateTime? LastStatusChangeDate { get; set; }
 193
 194        /// <summary>
 195        /// Начало периода даты изменения статуса (включительно).
 196        /// </summary>
 18197        public DateTime? LastStatusChangeDateFrom { get; set; }
 198
 199        /// <summary>
 200        /// Конец периода даты изменения статуса (включительно).
 201        /// </summary>
 18202        public DateTime? LastStatusChangeDateTo { get; set; }
 203
 5204        public string? Delivery { get; set; }
 30205        public string? Provider { get; set; }
 30206        public string? DeliveryName { get; set; }
 9207        public string? TrackingNumber { get; set; }
 11208        public string? Scanit { get; set; }
 29209        public int? LastMonths { get; set; }
 105210        public bool IncludeArchived { get; set; } = false;
 211
 212        /// <summary>
 213        /// Группировка заказов по ShipmentId.
 214        /// Если включено, при фильтрации возвращаются все заказы из одного отправления.
 215        /// </summary>
 257216        public bool GroupByShipment { get; set; } = true;
 217
 218        /// <summary>
 219        /// Если включено, при открытии страницы статусы клиента
 220        /// (ClientStatus) для заказов на текущей странице будут
 221        /// автоматически синхронизированы через внешние API.
 222        /// </summary>
 35223        public bool SyncClientStatusesOnLoad { get; set; } = false;
 224
 225        /// <summary>
 226        /// Если включено, отображаются только заказы с непустым полем засыла.
 227        /// </summary>
 41228        public bool OnlyWithZasyl { get; set; } = false;
 229
 230        /// <summary>
 231        /// Если включено, отображаются только заказы с возвратами (IsReturned = true).
 232        /// </summary>
 65233        public bool OnlyWithReturns { get; set; } = false;
 234
 235        /// <summary>
 236        /// Фильтрация заказов по штрихкоду возврата (LogisticBarcode из OrderReturns).
 237        /// </summary>
 39238        public string? ReturnLogisticBarcode { get; set; }
 239
 240        /// <summary>
 241        /// Фильтрация заказов по системному статусу возврата (OrderReturns.VisualStatusSysName).
 242        /// </summary>
 8243        public string? ReturnStatusSysName { get; set; }
 244
 245        /// <summary>
 246        /// Фильтрация заказов по складу возврата (OrderReturns.PlaceName/TargetPlaceName).
 247        /// </summary>
 8248        public string? ReturnWarehouseName { get; set; }
 249
 250        /// <summary>
 251        /// Фильтрация заказов по дате изменения статуса возврата (OrderReturns.VisualStatusChangeMoment).
 252        /// </summary>
 8253        public DateTime? ReturnStatusChangeDate { get; set; }
 254
 255        /// <summary>
 256        /// Если включено, отображаются только заказы с заполненным трек-номером.
 257        /// </summary>
 63258        public bool OnlyWithTrackingNumber { get; set; } = false;
 259    }
 260}