< Summary

Class:WinSolutions.Sveta.Server.Data.DataModel.Entities.AnonymousMovement
Assembly:WinSolutions.Sveta.Server
File(s):/opt/dev/sveta_api_build/WinSolutions.Sveta.Server/Data/DataModel/Entities/AnonymousMovement.cs
Covered lines:46
Uncovered lines:1
Coverable lines:47
Total lines:100
Line coverage:97.8% (46 of 47)
Covered branches:2
Total branches:2
Branch coverage:100% (2 of 2)

Metrics

MethodLine coverage Branch coverage
get_AnonymousKey()100%100%
get_Items()100%100%
get_Customer()100%100%
get_Supplier()100%100%
get_Receiver()100%100%
get_Sender()100%100%
get_PrepaimentPercent()100%100%
get_PrepaimentSum()100%100%
get_Notes()0%100%
get_DocumentNumber()100%100%
op_Implicit(...)100%100%
op_Explicit(...)100%100%

File(s)

/opt/dev/sveta_api_build/WinSolutions.Sveta.Server/Data/DataModel/Entities/AnonymousMovement.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.ComponentModel.DataAnnotations;
 4using System.ComponentModel.DataAnnotations.Schema;
 5using WinSolutions.Sveta.Server.Data.DataModel.Kinds;
 6using WinSolutions.Sveta.Server.Domain;
 7
 8namespace WinSolutions.Sveta.Server.Data.DataModel.Entities
 9{
 10    public class AnonymousMovement: ExternalRecord, ITrackableRecord
 11    {
 6612        public Guid AnonymousKey { get; set; }
 13        /// <summary>
 14        ///Состав заказа
 15        /// </summary>
 12416        public List<MovementItem> Items { get; set; }
 17        /// <summary>
 18        /// Заказчик
 19        /// </summary>
 5520        public Contragent Customer { get; set; }
 21        /// <summary>
 22        /// Поставщик
 23        /// </summary>
 24        [Required]
 7725        public Contragent Supplier { get; set; }
 26        /// <summary>
 27        /// Получатель
 28        /// </summary>
 29        [Required]
 8130        public Department Receiver { get; set; }
 31
 32        /// <summary>
 33        /// Склад отправитель
 34        /// </summary>
 8535        public Department Sender { get; set; }
 36
 37        /// <summary>
 38        /// Размер предоплаты %
 39        /// </summary>
 40        [Required]
 41        [Column(TypeName = "decimal(18,2)")]
 5742        public decimal PrepaimentPercent { get; set; }
 43
 44        /// <summary>
 45        /// Сумма предоплаты
 46        /// </summary>
 47        [Required]
 48        [Column(TypeName = "decimal(18,2)")]
 8049        public decimal PrepaimentSum { get; set; }
 50        /// <summary>
 51        /// Комментарии к документам
 52        /// </summary>
 053        public List<MovementNote> Notes { get; set; }
 54        /// <summary>
 55        /// Номер документа ORXXXXXXX/SHXXXXXXXX
 56        /// </summary>
 57        [Required]
 8558        public string DocumentNumber { get; set; }
 59
 60        public static implicit operator Movement(AnonymousMovement annonym)
 3061        {
 3162             if (annonym == null) return null;
 2963             return  new Movement
 2964             {
 2965                 Id = annonym.Id,
 2966                 GUID = annonym.AnonymousKey,
 2967                 Items = annonym.Items,
 2968                 Notes = new List<MovementNote>(),
 2969                 Customer = annonym.Customer,
 2970                 Supplier = annonym.Supplier,
 2971                 Sender = annonym.Sender,
 2972                 Receiver = annonym.Receiver,
 2973                 Actions = new List<MovementAction>(),
 2974                 PrepaimentPercent = annonym.PrepaimentPercent,
 2975                 PrepaimentSum = annonym.PrepaimentSum,
 2976                 DocumentNumber = annonym.DocumentNumber,
 2977                 Attachment = default,
 2978                 MovementType = new MovementType
 2979                 {
 2980                     Id = (long)MovementKind.Order
 2981                 },
 2982                 MovementStatus = new MovementStatus {Id = (long)MovementsStatus.OrderDraft, Name = "Черновик", Code = "
 2983             };
 3084        }
 85
 1486        public static explicit operator AnonymousMovement(Movement movement) => new AnonymousMovement
 1487        {
 1488            Id = movement.Id,
 1489            GUID = movement.GUID,
 1490            Items = movement.Items,
 1491            Notes = movement.Notes,
 1492            Supplier = movement.Supplier,
 1493            Sender = movement.Sender,
 1494            Customer = movement.Customer,
 1495            PrepaimentPercent = movement.PrepaimentPercent,
 1496            PrepaimentSum = movement.PrepaimentSum,
 1497            Receiver = movement.Receiver
 1498        };
 99    }
 100}