< Summary

Information
Class: OzonDomains.Models.OzonHandover.OzonHandoverAct
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/OzonHandover/OzonHandoverAct.cs
Line coverage
86%
Covered lines: 20
Uncovered lines: 3
Coverable lines: 23
Total lines: 78
Line coverage: 86.9%
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_Id()100%210%
get_BatchId()100%210%
get_GroupKey()100%11100%
get_GroupName()100%11100%
get_ActNo()100%11100%
get_ActDate()100%11100%
get_ActType()100%11100%
get_Pvz()100%11100%
get_AccountLabel()100%11100%
get_Source()100%11100%
get_ReturnType()100%11100%
get_BoxBarcode()100%11100%
get_ReturnId()100%11100%
get_Status()100%11100%
get_ItemsCount()100%11100%
get_TotalValue()100%11100%
get_AcceptedCount()100%11100%
get_RejectedCount()100%11100%
get_PendingCount()100%11100%
get_DefectCount()100%11100%
get_MissortCount()100%11100%
get_Batch()100%210%
get_Items()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/OzonHandover/OzonHandoverAct.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using System.ComponentModel.DataAnnotations.Schema;
 3
 4namespace OzonDomains.Models.OzonHandover;
 5
 6/// <summary>
 7/// Акт внутри батча выдачи/приёма-передачи Ozon (группа "Приём-передача" или "Отказ в выдаче").
 8/// Статус акта вычисляется из статусов его позиций (<see cref="OzonHandoverActItem"/>),
 9/// а не хранится независимо: все accepted → Accepted, все pending → Pending, смесь → PartiallyAccepted.
 10/// </summary>
 11[Table("OzonHandoverActs")]
 12public class OzonHandoverAct
 13{
 14    [Key]
 15    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
 016    public int Id { get; set; }
 17
 018    public int BatchId { get; set; }
 19
 20    /// <summary>Ключ группы акта (group_key), например "handover".</summary>
 21    [MaxLength(50)]
 1122    public string? GroupKey { get; set; }
 23
 24    /// <summary>Название группы акта (group_name), например "Выдача", "Приём-передача", "Отказ в выдаче".</summary>
 25    [MaxLength(100)]
 1126    public string? GroupName { get; set; }
 27
 28    /// <summary>Номер акта источника; "без акта", когда источник не присвоил номер.</summary>
 29    [MaxLength(100)]
 1230    public string? ActNo { get; set; }
 31
 1132    public DateTime ActDate { get; set; }
 33
 34    /// <summary>Тип акта (act_type), например "Выдача".</summary>
 35    [MaxLength(100)]
 1136    public string? ActType { get; set; }
 37
 38    /// <summary>Код пункта выдачи заказов.</summary>
 39    [MaxLength(100)]
 1140    public string? Pvz { get; set; }
 41
 42    /// <summary>Метка аккаунта источника (поле account в JSON), например "ЛК1". Не путать с OzonClientId.</summary>
 43    [MaxLength(50)]
 1144    public string? AccountLabel { get; set; }
 45
 46    /// <summary>Свободное текстовое описание источника данных.</summary>
 47    [MaxLength(500)]
 1148    public string? Source { get; set; }
 49
 50    [MaxLength(20)]
 1151    public string? ReturnType { get; set; }
 52
 53    [MaxLength(100)]
 1154    public string? BoxBarcode { get; set; }
 55
 1156    public long? ReturnId { get; set; }
 57
 58    /// <summary>
 59    /// Вычисляемый статус акта: accepted / pending / partially_accepted.
 60    /// Пересчитывается при каждом импорте из статусов позиций.
 61    /// </summary>
 62    [MaxLength(30)]
 763    public string? Status { get; set; }
 64
 65    // Денормализованная сводка по позициям акта (summary в JSON) — для быстрого списка без агрегации.
 766    public int ItemsCount { get; set; }
 767    public decimal TotalValue { get; set; }
 768    public int AcceptedCount { get; set; }
 769    public int RejectedCount { get; set; }
 770    public int PendingCount { get; set; }
 771    public int DefectCount { get; set; }
 772    public int MissortCount { get; set; }
 73
 74    [ForeignKey(nameof(BatchId))]
 075    public virtual OzonHandoverImportBatch? Batch { get; set; }
 76
 7777    public virtual List<OzonHandoverActItem> Items { get; set; } = new();
 78}