using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using Brizco.Domain.Dtos.LargDtos; using Brizco.Domain.Dtos.SmallDtos; using Brizco.Domain.Entities.Complex; using Mapster.Models; namespace Brizco.Domain.Mappers { public static partial class PositionMapper { public static Position AdaptToPosition(this PositionSDto p1) { return p1 == null ? null : new Position() { Name = p1.Name, Description = p1.Description, ComplexId = p1.ComplexId, SectionId = p1.SectionId, Id = p1.Id }; } public static Position AdaptTo(this PositionSDto p2, Position p3) { if (p2 == null) { return null; } Position result = p3 ?? new Position(); result.Name = p2.Name; result.Description = p2.Description; result.ComplexId = p2.ComplexId; result.SectionId = p2.SectionId; result.Id = p2.Id; return result; } public static Expression> ProjectToPosition => p4 => new Position() { Name = p4.Name, Description = p4.Description, ComplexId = p4.ComplexId, SectionId = p4.SectionId, Id = p4.Id }; public static PositionSDto AdaptToSDto(this Position p5) { return p5 == null ? null : new PositionSDto() { Name = p5.Name, Description = p5.Description, ComplexId = p5.ComplexId, SectionId = p5.SectionId, Id = p5.Id }; } public static PositionSDto AdaptTo(this Position p6, PositionSDto p7) { if (p6 == null) { return null; } PositionSDto result = p7 ?? new PositionSDto(); result.Name = p6.Name; result.Description = p6.Description; result.ComplexId = p6.ComplexId; result.SectionId = p6.SectionId; result.Id = p6.Id; return result; } public static Expression> ProjectToSDto => p8 => new PositionSDto() { Name = p8.Name, Description = p8.Description, ComplexId = p8.ComplexId, SectionId = p8.SectionId, Id = p8.Id }; public static Position AdaptToPosition(this PositionLDto p9) { return p9 == null ? null : new Position() { Name = p9.Name, Description = p9.Description, ComplexId = p9.ComplexId, Complex = new Complex() {Id = p9.ComplexId}, SectionId = p9.SectionId, Section = new Section() { Name = p9.SectionName, Id = p9.SectionId }, Users = funcMain1(p9.Users), Id = p9.Id }; } public static Position AdaptTo(this PositionLDto p11, Position p12) { if (p11 == null) { return null; } Position result = p12 ?? new Position(); result.Name = p11.Name; result.Description = p11.Description; result.ComplexId = p11.ComplexId; result.Complex = funcMain2(new Never(), result.Complex, p11); result.SectionId = p11.SectionId; result.Section = funcMain3(new Never(), result.Section, p11); result.Users = funcMain4(p11.Users, result.Users); result.Id = p11.Id; return result; } public static Expression> ProjectLDtoToPosition => p19 => new Position() { Name = p19.Name, Description = p19.Description, ComplexId = p19.ComplexId, Complex = new Complex() {Id = p19.ComplexId}, SectionId = p19.SectionId, Section = new Section() { Name = p19.SectionName, Id = p19.SectionId }, Users = p19.Users.Select(p20 => new PositionUser() { ApplicationUserId = p20.ApplicationUserId, PositionId = p20.PositionId, Id = p20.Id }).ToList(), Id = p19.Id }; public static PositionLDto AdaptToLDto(this Position p21) { return p21 == null ? null : new PositionLDto() { Name = p21.Name, Description = p21.Description, ComplexId = p21.ComplexId, SectionId = p21.SectionId, SectionName = p21.Section != null ? p21.Section.Name : string.Empty, Users = funcMain5(p21.Users), Id = p21.Id }; } public static PositionLDto AdaptTo(this Position p23, PositionLDto p24) { if (p23 == null) { return null; } PositionLDto result = p24 ?? new PositionLDto(); result.Name = p23.Name; result.Description = p23.Description; result.ComplexId = p23.ComplexId; result.SectionId = p23.SectionId; result.SectionName = p23.Section != null ? p23.Section.Name : string.Empty; result.Users = funcMain6(p23.Users, result.Users); result.Id = p23.Id; return result; } public static Expression> ProjectToLDto => p27 => new PositionLDto() { Name = p27.Name, Description = p27.Description, ComplexId = p27.ComplexId, SectionId = p27.SectionId, SectionName = p27.Section != null ? p27.Section.Name : string.Empty, Users = p27.Users.Select(p28 => new PositionUserSDto() { ApplicationUserId = p28.ApplicationUserId, PositionId = p28.PositionId, Id = p28.Id }).ToList(), Id = p27.Id }; private static List funcMain1(List p10) { if (p10 == null) { return null; } List result = new List(p10.Count); int i = 0; int len = p10.Count; while (i < len) { PositionUserSDto item = p10[i]; result.Add(item == null ? null : new PositionUser() { ApplicationUserId = item.ApplicationUserId, PositionId = item.PositionId, Id = item.Id }); i++; } return result; } private static Complex funcMain2(Never p13, Complex p14, PositionLDto p11) { Complex result = p14 ?? new Complex(); result.Id = p11.ComplexId; return result; } private static Section funcMain3(Never p15, Section p16, PositionLDto p11) { Section result = p16 ?? new Section(); result.Name = p11.SectionName; result.Id = p11.SectionId; return result; } private static List funcMain4(List p17, List p18) { if (p17 == null) { return null; } List result = new List(p17.Count); int i = 0; int len = p17.Count; while (i < len) { PositionUserSDto item = p17[i]; result.Add(item == null ? null : new PositionUser() { ApplicationUserId = item.ApplicationUserId, PositionId = item.PositionId, Id = item.Id }); i++; } return result; } private static List funcMain5(List p22) { if (p22 == null) { return null; } List result = new List(p22.Count); int i = 0; int len = p22.Count; while (i < len) { PositionUser item = p22[i]; result.Add(item == null ? null : new PositionUserSDto() { ApplicationUserId = item.ApplicationUserId, PositionId = item.PositionId, Id = item.Id }); i++; } return result; } private static List funcMain6(List p25, List p26) { if (p25 == null) { return null; } List result = new List(p25.Count); int i = 0; int len = p25.Count; while (i < len) { PositionUser item = p25[i]; result.Add(item == null ? null : new PositionUserSDto() { ApplicationUserId = item.ApplicationUserId, PositionId = item.PositionId, Id = item.Id }); i++; } return result; } } }