< Summary

Information
Class: OzonOrdersWeb.Areas.Studio2.ViewModels.TransactionJobs.OrderExecutionLookupMatchViewModel
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_ExecutionId()100%210%
get_JobType()100%210%
get_ScheduleName()100%210%
get_StartedAt()100%210%
get_OrderId()100%210%
get_OrderNumber()100%210%
get_Article()100%210%
get_OrderStatus()100%210%
get_IsMatchedInDb()100%210%
get_IsEligibleForProcessing()100%210%
get_RejectionReason()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{
 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{
 077    public long ExecutionId { get; set; }
 078    public string? JobType { get; set; }
 079    public string? ScheduleName { get; set; }
 080    public DateTime? StartedAt { get; set; }
 81
 082    public int? OrderId { get; set; }
 083    public string OrderNumber { get; set; } = string.Empty;
 084    public string? Article { get; set; }
 085    public string? OrderStatus { get; set; }
 86
 087    public bool IsMatchedInDb { get; set; }
 088    public bool IsEligibleForProcessing { get; set; }
 089    public string? RejectionReason { get; set; }
 90}