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 Brizco.Domain.Entities.User; namespace Brizco.Domain.Mappers { public static partial class ComplexMapper { public static Complex AdaptToComplex(this ComplexSDto p1) { return p1 == null ? null : new Complex() { Name = p1.Name, Address = p1.Address, SupportPhone = p1.SupportPhone, Id = p1.Id }; } public static Complex AdaptTo(this ComplexSDto p2, Complex p3) { if (p2 == null) { return null; } Complex result = p3 ?? new Complex(); result.Name = p2.Name; result.Address = p2.Address; result.SupportPhone = p2.SupportPhone; result.Id = p2.Id; return result; } public static Expression> ProjectToComplex => p4 => new Complex() { Name = p4.Name, Address = p4.Address, SupportPhone = p4.SupportPhone, Id = p4.Id }; public static ComplexSDto AdaptToSDto(this Complex p5) { return p5 == null ? null : new ComplexSDto() { Name = p5.Name, Address = p5.Address, SupportPhone = p5.SupportPhone, Id = p5.Id }; } public static ComplexSDto AdaptTo(this Complex p6, ComplexSDto p7) { if (p6 == null) { return null; } ComplexSDto result = p7 ?? new ComplexSDto(); result.Name = p6.Name; result.Address = p6.Address; result.SupportPhone = p6.SupportPhone; result.Id = p6.Id; return result; } public static Expression> ProjectToSDto => p8 => new ComplexSDto() { Name = p8.Name, Address = p8.Address, SupportPhone = p8.SupportPhone, Id = p8.Id }; public static Complex AdaptToComplex(this ComplexLDto p9) { return p9 == null ? null : new Complex() { Name = p9.Name, Address = p9.Address, SupportPhone = p9.SupportPhone, Users = funcMain1(p9.Users), Id = p9.Id }; } public static Complex AdaptTo(this ComplexLDto p11, Complex p12) { if (p11 == null) { return null; } Complex result = p12 ?? new Complex(); result.Name = p11.Name; result.Address = p11.Address; result.SupportPhone = p11.SupportPhone; result.Users = funcMain2(p11.Users, result.Users); result.Id = p11.Id; return result; } public static Expression> ProjectLDtoToComplex => p15 => new Complex() { Name = p15.Name, Address = p15.Address, SupportPhone = p15.SupportPhone, Users = p15.Users.Select(p16 => new ComplexUser() { UserId = p16.UserId, ComplexId = p16.ComplexId, User = new ApplicationUser() {Id = p16.UserId}, Complex = new Complex() { Name = p16.ComplexName, Id = p16.ComplexId }, Id = p16.Id }).ToList(), Id = p15.Id }; public static ComplexLDto AdaptToLDto(this Complex p17) { return p17 == null ? null : new ComplexLDto() { Name = p17.Name, Address = p17.Address, SupportPhone = p17.SupportPhone, Users = funcMain3(p17.Users), Id = p17.Id }; } public static ComplexLDto AdaptTo(this Complex p19, ComplexLDto p20) { if (p19 == null) { return null; } ComplexLDto result = p20 ?? new ComplexLDto(); result.Name = p19.Name; result.Address = p19.Address; result.SupportPhone = p19.SupportPhone; result.Users = funcMain4(p19.Users, result.Users); result.Id = p19.Id; return result; } public static Expression> ProjectToLDto => p23 => new ComplexLDto() { Name = p23.Name, Address = p23.Address, SupportPhone = p23.SupportPhone, Users = p23.Users.Select(p24 => new ComplexUserSDto() { FirstName = p24.User != null ? p24.User.FirstName : string.Empty, LastName = p24.User != null ? p24.User.LastName : string.Empty, NationalId = p24.User != null ? p24.User.NationalId : string.Empty, ComplexName = p24.Complex != null ? p24.Complex.Name : string.Empty, UserId = p24.UserId, ComplexId = p24.ComplexId, Id = p24.Id }).ToList(), Id = p23.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) { ComplexUserSDto item = p10[i]; result.Add(item == null ? null : new ComplexUser() { UserId = item.UserId, ComplexId = item.ComplexId, User = new ApplicationUser() {Id = item.UserId}, Complex = new Complex() { Name = item.ComplexName, Id = item.ComplexId }, Id = item.Id }); i++; } return result; } private static List funcMain2(List p13, List p14) { if (p13 == null) { return null; } List result = new List(p13.Count); int i = 0; int len = p13.Count; while (i < len) { ComplexUserSDto item = p13[i]; result.Add(item == null ? null : new ComplexUser() { UserId = item.UserId, ComplexId = item.ComplexId, User = new ApplicationUser() {Id = item.UserId}, Complex = new Complex() { Name = item.ComplexName, Id = item.ComplexId }, Id = item.Id }); i++; } return result; } private static List funcMain3(List p18) { if (p18 == null) { return null; } List result = new List(p18.Count); int i = 0; int len = p18.Count; while (i < len) { ComplexUser item = p18[i]; result.Add(item == null ? null : new ComplexUserSDto() { FirstName = item.User != null ? item.User.FirstName : string.Empty, LastName = item.User != null ? item.User.LastName : string.Empty, NationalId = item.User != null ? item.User.NationalId : string.Empty, ComplexName = item.Complex != null ? item.Complex.Name : string.Empty, UserId = item.UserId, ComplexId = item.ComplexId, Id = item.Id }); i++; } return result; } private static List funcMain4(List p21, List p22) { if (p21 == null) { return null; } List result = new List(p21.Count); int i = 0; int len = p21.Count; while (i < len) { ComplexUser item = p21[i]; result.Add(item == null ? null : new ComplexUserSDto() { FirstName = item.User != null ? item.User.FirstName : string.Empty, LastName = item.User != null ? item.User.LastName : string.Empty, NationalId = item.User != null ? item.User.NationalId : string.Empty, ComplexName = item.Complex != null ? item.Complex.Name : string.Empty, UserId = item.UserId, ComplexId = item.ComplexId, Id = item.Id }); i++; } return result; } } }