< Summary

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

Metrics

MethodLine coverage Branch coverage
.ctor(...)0%0%
get_Name()0%100%
get_ContragentShort()0%100%
get_TradeRatio()0%100%
get_Departments()0%100%
get_DepartmentsCount()0%100%
get_MinOrderSum()0%100%
get_WarehouseOwner()0%100%
get_DeliveryTypes()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    {
 045        public ClusterDTO_GET(WinSolutions.Sveta.Server.Data.DataModel.Entities.Cluster data)
 046        {
 047            Id = data.Id;
 048            Name = data.Name;
 049            TradeRatio = data.TradeRatio;
 050            ContragentShort = new ClusterContragentDTO(data.Warehouse.Contragent);
 051            Departments = new List<ClusterDepartmentDTO>();
 052            Departments.AddRange(data.Departments.Select(x => new ClusterDepartmentDTO(x)));
 053            DepartmentsCount = Departments.Count;
 054            RecStateId = data.RecState.Id;
 055            WarehouseOwner = new ClusterDepartmentDTO(data.Warehouse);
 056            MinOrderSum = data.MinOrderSum;
 057            DeliveryTypes.AddRange(data.ClusterDeliveryTypes?.Select(x => new IdNameDTO(x.DeliveryTypeId, x.DeliveryType
 058        }
 59        [NotNullOrWhiteSpaceValidator]
 060        public string Name { get; set; }
 61        [Required]
 062        public ClusterContragentDTO ContragentShort { get; set; }
 63        [Required]
 064        public decimal TradeRatio { get; set; }
 065        public List<ClusterDepartmentDTO> Departments { get; set; }
 066        public int DepartmentsCount { get; set; }
 067        public decimal MinOrderSum { get; set; }
 68        /// <summary>
 69        /// Владелец кластера - склад
 70        /// </summary>
 071        public ClusterDepartmentDTO WarehouseOwner { get; set; }
 072        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    {
 91        public ClusterContragentDTO() { }
 92        public ClusterContragentDTO(Contragent data)
 93        {
 94            Id = data.Id;
 95            ShortName = data.ShortName;
 96        }
 97        [Required]
 98        public long Id { get; set; }
 99        [NotNullOrWhiteSpaceValidator]
 100        public string ShortName { get; set; }
 101    }
 102}