< Summary

Class:SVETA.Api.Data.DTO.ClusterContragentDTO
Assembly:SVETA.Api
File(s):/opt/dev/sveta_api_build/SVETA.Api/Data/DTO/Cluster/ClusterDTO.cs
Covered lines:0
Uncovered lines:8
Coverable lines:8
Total lines:102
Line coverage:0% (0 of 8)
Covered branches:0
Total branches:0

Metrics

MethodLine coverage Branch coverage
.ctor()0%100%
.ctor(...)0%100%
get_Id()0%100%
get_ShortName()0%100%

File(s)

/opt/dev/sveta_api_build/SVETA.Api/Data/DTO/Cluster/ClusterDTO.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Threading.Tasks;
 5using System.Runtime.Serialization;
 6using WinSolutions.Sveta.Server.Data.DataModel.Entities;
 7using System.ComponentModel.DataAnnotations;
 8using SVETA.Api.Validation;
 9
 10namespace SVETA.Api.Data.DTO
 11{
 12    public class ClusterRequestDTO
 13    {
 14        [DigitValidate (CanBeZero = false, CanBeNegative = true)]
 15        [Display(Name = "Идентификатор склада")]
 16        public long WarehouseId { get; set; }
 17        [Required (ErrorMessage ="Имя кластера не может быть пустым")]
 18        public string Name { get; set; }
 19        [DigitValidate]
 20        [Display (Name = "Торговый коэффициент")]
 21        public decimal TradeRatio { get; set; }
 22        [DigitValidate]
 23        [Display (Name = "Минимальная сумма заказа")]
 24        public decimal MinOrderSum { get; set; }
 25        public List<long> DepartmentsBindId { get; set; }
 26        public List<long> DeliveryTypesId { get; set; } = new List<long>();
 27    }
 28
 29    public class ClusterBindDepDTO_PUT
 30    {
 31        [Required]
 32        public List<long> DeparmentsId { get; set; }
 33    }
 34
 35    public class ClusterValidateDepDTO
 36    {
 37        [Required]
 38        public long WarehouseOwnerId { get; set; }
 39        [Required]
 40        public List<ClusterDepartmentDTO> Departments { get; set; }
 41    }
 42
 43    public class ClusterDTO_GET : BaseDTO
 44    {
 45        public ClusterDTO_GET(WinSolutions.Sveta.Server.Data.DataModel.Entities.Cluster data)
 46        {
 47            Id = data.Id;
 48            Name = data.Name;
 49            TradeRatio = data.TradeRatio;
 50            ContragentShort = new ClusterContragentDTO(data.Warehouse.Contragent);
 51            Departments = new List<ClusterDepartmentDTO>();
 52            Departments.AddRange(data.Departments.Select(x => new ClusterDepartmentDTO(x)));
 53            DepartmentsCount = Departments.Count;
 54            RecStateId = data.RecState.Id;
 55            WarehouseOwner = new ClusterDepartmentDTO(data.Warehouse);
 56            MinOrderSum = data.MinOrderSum;
 57            DeliveryTypes.AddRange(data.ClusterDeliveryTypes?.Select(x => new IdNameDTO(x.DeliveryTypeId, x.DeliveryType
 58        }
 59        [NotNullOrWhiteSpaceValidator]
 60        public string Name { get; set; }
 61        [Required]
 62        public ClusterContragentDTO ContragentShort { get; set; }
 63        [Required]
 64        public decimal TradeRatio { get; set; }
 65        public List<ClusterDepartmentDTO> Departments { get; set; }
 66        public int DepartmentsCount { get; set; }
 67        public decimal MinOrderSum { get; set; }
 68        /// <summary>
 69        /// Владелец кластера - склад
 70        /// </summary>
 71        public ClusterDepartmentDTO WarehouseOwner { get; set; }
 72        public List<IdNameDTO> DeliveryTypes { get; set; } = new List<IdNameDTO>();
 73    }
 74
 75    public class ClusterDepartmentDTO
 76    {
 77        public ClusterDepartmentDTO() { }
 78        public ClusterDepartmentDTO(Department data)
 79        {
 80            Id = data.Id;
 81            Name = data.Name;
 82        }
 83        [Required]
 84        public long Id { get; set; }
 85        [NotNullOrWhiteSpaceValidator]
 86        public string Name { get; set; }
 87    }
 88
 89    public class ClusterContragentDTO
 90    {
 091        public ClusterContragentDTO() { }
 092        public ClusterContragentDTO(Contragent data)
 093        {
 094            Id = data.Id;
 095            ShortName = data.ShortName;
 096        }
 97        [Required]
 098        public long Id { get; set; }
 99        [NotNullOrWhiteSpaceValidator]
 0100        public string ShortName { get; set; }
 101    }
 102}