< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.ViewModels.TransactionJobs.OrderExecutionLookupOrderViewModel
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/TransactionJobs/OrderExecutionLookupViewModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 90
Line coverage: 0%
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_OrderId()100%210%
get_ShipmentNumber()100%210%
get_Article()100%210%
get_AppStatusName()100%210%
get_ClientStatusName()100%210%
get_OzonClientName()100%210%
get_ShipmentWarehouseName()100%210%
get_TransactionId()100%210%
get_TransactionTypeName()100%210%
get_TransactionCreatedAt()100%210%
get_TransactionCreateBy()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/TransactionJobs/OrderExecutionLookupViewModel.cs

#LineLine coverage
 1namespace OzonOrdersWeb.Areas.Studio2.ViewModels.TransactionJobs;
 2
 3/// <summary>
 4/// Результат поиска заказа по журналу запусков: в каких транзакциях он был проведён
 5/// (фоновой задачей или вручную) и в какие запуски он попадал при отборе.
 6/// </summary>
 7public class OrderExecutionLookupViewModel
 8{
 9    public string Query { get; set; } = string.Empty;
 10
 11    public List<OrderExecutionLookupOrderViewModel> Orders { get; set; } = [];
 12
 13    /// <summary>Проведения заказа: строки фоновых результатов и ручных проведений 1С.</summary>
 14    public List<OrderExecutionLookupPostingViewModel> Postings { get; set; } = [];
 15
 16    /// <summary>Отборы заказа в фоновых запусках, включая отклонённые.</summary>
 17    public List<OrderExecutionLookupMatchViewModel> Matches { get; set; } = [];
 18
 19    /// <summary>Запуски, в которых заказ встретился — по ним фильтруется таблица запусков.</summary>
 20    public List<long> ExecutionIds { get; set; } = [];
 21
 22    public bool IsEmpty => Orders.Count == 0 && Postings.Count == 0 && Matches.Count == 0;
 23}
 24
 25/// <summary>Найденный заказ и его текущая транзакция.</summary>
 26public class OrderExecutionLookupOrderViewModel
 27{
 028    public int OrderId { get; set; }
 029    public string? ShipmentNumber { get; set; }
 030    public string? Article { get; set; }
 031    public string? AppStatusName { get; set; }
 032    public string? ClientStatusName { get; set; }
 033    public string? OzonClientName { get; set; }
 034    public string? ShipmentWarehouseName { get; set; }
 35
 036    public int? TransactionId { get; set; }
 037    public string? TransactionTypeName { get; set; }
 038    public DateTime? TransactionCreatedAt { get; set; }
 039    public string? TransactionCreateBy { get; set; }
 40}
 41
 42/// <summary>Одно проведение заказа: фоновое (есть запуск) или ручное.</summary>
 43public class OrderExecutionLookupPostingViewModel
 44{
 45    public int OrderId { get; set; }
 46    public string? ShipmentNumber { get; set; }
 47
 48    /// <summary>Запуск фоновой задачи; null — транзакция проведена вручную.</summary>
 49    public long? ExecutionId { get; set; }
 50    public string? JobType { get; set; }
 51    public string? ScheduleName { get; set; }
 52
 53    public int? TransactionId { get; set; }
 54    public string? TransactionTypeName { get; set; }
 55    public string? PerformedBy { get; set; }
 56    public DateTime? PerformedAt { get; set; }
 57
 58    /// <summary>Склад из строки результата запуска (группа проведения).</summary>
 59    public string? WarehouseName { get; set; }
 60    public string? WarehouseSender { get; set; }
 61    public string? WarehouseRecipient { get; set; }
 62
 63    public string? DocumentNumbers { get; set; }
 64    public bool? IsPosted { get; set; }
 65
 66    /// <summary>Статус строки BackgroundTransactionResults (Success/Skipped/Failed) — только для фоновых.</summary>
 67    public string? Status { get; set; }
 68    public string? Comment { get; set; }
 69    public string? ErrorMessage { get; set; }
 70
 71    public bool IsAutomated => ExecutionId.HasValue;
 72}
 73
 74/// <summary>Заказ в отборе фонового запуска.</summary>
 75public class OrderExecutionLookupMatchViewModel
 76{
 77    public long ExecutionId { get; set; }
 78    public string? JobType { get; set; }
 79    public string? ScheduleName { get; set; }
 80    public DateTime? StartedAt { get; set; }
 81
 82    public int? OrderId { get; set; }
 83    public string OrderNumber { get; set; } = string.Empty;
 84    public string? Article { get; set; }
 85    public string? OrderStatus { get; set; }
 86
 87    public bool IsMatchedInDb { get; set; }
 88    public bool IsEligibleForProcessing { get; set; }
 89    public string? RejectionReason { get; set; }
 90}