< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.ViewModels.TransactionJobs.OrderExecutionLookupPostingViewModel
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/ViewModels/TransactionJobs/OrderExecutionLookupViewModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 18
Coverable lines: 18
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_ExecutionId()100%210%
get_JobType()100%210%
get_ScheduleName()100%210%
get_TransactionId()100%210%
get_TransactionTypeName()100%210%
get_PerformedBy()100%210%
get_PerformedAt()100%210%
get_WarehouseName()100%210%
get_WarehouseSender()100%210%
get_WarehouseRecipient()100%210%
get_DocumentNumbers()100%210%
get_IsPosted()100%210%
get_Status()100%210%
get_Comment()100%210%
get_ErrorMessage()100%210%
get_IsAutomated()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{
 28    public int OrderId { get; set; }
 29    public string? ShipmentNumber { get; set; }
 30    public string? Article { get; set; }
 31    public string? AppStatusName { get; set; }
 32    public string? ClientStatusName { get; set; }
 33    public string? OzonClientName { get; set; }
 34    public string? ShipmentWarehouseName { get; set; }
 35
 36    public int? TransactionId { get; set; }
 37    public string? TransactionTypeName { get; set; }
 38    public DateTime? TransactionCreatedAt { get; set; }
 39    public string? TransactionCreateBy { get; set; }
 40}
 41
 42/// <summary>Одно проведение заказа: фоновое (есть запуск) или ручное.</summary>
 43public class OrderExecutionLookupPostingViewModel
 44{
 045    public int OrderId { get; set; }
 046    public string? ShipmentNumber { get; set; }
 47
 48    /// <summary>Запуск фоновой задачи; null — транзакция проведена вручную.</summary>
 049    public long? ExecutionId { get; set; }
 050    public string? JobType { get; set; }
 051    public string? ScheduleName { get; set; }
 52
 053    public int? TransactionId { get; set; }
 054    public string? TransactionTypeName { get; set; }
 055    public string? PerformedBy { get; set; }
 056    public DateTime? PerformedAt { get; set; }
 57
 58    /// <summary>Склад из строки результата запуска (группа проведения).</summary>
 059    public string? WarehouseName { get; set; }
 060    public string? WarehouseSender { get; set; }
 061    public string? WarehouseRecipient { get; set; }
 62
 063    public string? DocumentNumbers { get; set; }
 064    public bool? IsPosted { get; set; }
 65
 66    /// <summary>Статус строки BackgroundTransactionResults (Success/Skipped/Failed) — только для фоновых.</summary>
 067    public string? Status { get; set; }
 068    public string? Comment { get; set; }
 069    public string? ErrorMessage { get; set; }
 70
 071    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}