< Summary

Information
Class: OzonDomains.Models.StatusTransitionHistory
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/StatusTransitionHistory.cs
Line coverage
71%
Covered lines: 10
Uncovered lines: 4
Coverable lines: 14
Total lines: 75
Line coverage: 71.4%
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_EntityId()100%11100%
get_EntityType()100%11100%
get_StatusTransitionId()100%11100%
get_StatusTransition()100%210%
get_FromStatusId()100%11100%
get_FromStatus()100%210%
get_ToStatusId()100%11100%
get_ToStatus()100%210%
get_TransactionType()100%11100%
get_Comment()100%11100%
get_PerformedByUserId()100%11100%
get_PerformedAt()100%11100%
get_Metadata()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/StatusTransitionHistory.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using System.ComponentModel.DataAnnotations.Schema;
 3using OzonDomains;
 4
 5namespace OzonDomains.Models
 6{
 7    /// <summary>
 8    /// История переходов между статусами
 9    /// </summary>
 10    public class StatusTransitionHistory
 11    {
 012        public long Id { get; set; }
 13
 14        /// <summary>
 15        /// ID сущности (например, OrderId)
 16        /// </summary>
 2117        public int EntityId { get; set; }
 18
 19        /// <summary>
 20        /// Тип сущности (Order, Shipment и т.д.)
 21        /// </summary>
 22        [StringLength(50)]
 1623        public string EntityType { get; set; } = null!;
 24
 25        /// <summary>
 26        /// Выполненный переход (null при ручном изменении статуса)
 27        /// </summary>
 1528        public int? StatusTransitionId { get; set; }
 29
 30        [ForeignKey(nameof(StatusTransitionId))]
 031        public virtual StatusTransition? StatusTransition { get; set; }
 32
 33        /// <summary>
 34        /// Статус до перехода
 35        /// </summary>
 2136        public int FromStatusId { get; set; }
 37
 38        [ForeignKey(nameof(FromStatusId))]
 039        public virtual AppStatus? FromStatus { get; set; }
 40
 41        /// <summary>
 42        /// Статус после перехода
 43        /// </summary>
 2144        public int ToStatusId { get; set; }
 45
 46        [ForeignKey(nameof(ToStatusId))]
 047        public virtual AppStatus? ToStatus { get; set; }
 48
 49        /// <summary>
 50        /// Тип транзакции, который был использован (null при ручном изменении)
 51        /// </summary>
 1152        public TransactionType? TransactionType { get; set; }
 53
 54        /// <summary>
 55        /// Комментарий к переходу
 56        /// </summary>
 57        [StringLength(500)]
 2058        public string? Comment { get; set; }
 59
 60        /// <summary>
 61        /// ID пользователя, выполнившего переход
 62        /// </summary>
 1163        public int? PerformedByUserId { get; set; }
 64
 65        /// <summary>
 66        /// Дата и время выполнения перехода
 67        /// </summary>
 2868        public DateTime PerformedAt { get; set; } = DateTime.UtcNow;
 69
 70        /// <summary>
 71        /// Дополнительные данные (JSON)
 72        /// </summary>
 1473        public string? Metadata { get; set; }
 74    }
 75}