using System; 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 }, Id = p9.Id }; } public static Position AdaptTo(this PositionLDto p10, Position p11) { if (p10 == null) { return null; } Position result = p11 ?? new Position(); result.Name = p10.Name; result.Description = p10.Description; result.ComplexId = p10.ComplexId; result.Complex = funcMain1(new Never(), result.Complex, p10); result.SectionId = p10.SectionId; result.Section = funcMain2(new Never(), result.Section, p10); result.Id = p10.Id; return result; } public static Expression> ProjectLDtoToPosition => p16 => new Position() { Name = p16.Name, Description = p16.Description, ComplexId = p16.ComplexId, Complex = new Complex() {Id = p16.ComplexId}, SectionId = p16.SectionId, Section = new Section() { Name = p16.SectionName, Id = p16.SectionId }, Id = p16.Id }; public static PositionLDto AdaptToLDto(this Position p17) { return p17 == null ? null : new PositionLDto() { Name = p17.Name, Description = p17.Description, ComplexId = p17.ComplexId, SectionId = p17.SectionId, SectionName = p17.Section != null ? p17.Section.Name : string.Empty, Id = p17.Id }; } public static PositionLDto AdaptTo(this Position p18, PositionLDto p19) { if (p18 == null) { return null; } PositionLDto result = p19 ?? new PositionLDto(); result.Name = p18.Name; result.Description = p18.Description; result.ComplexId = p18.ComplexId; result.SectionId = p18.SectionId; result.SectionName = p18.Section != null ? p18.Section.Name : string.Empty; result.Id = p18.Id; return result; } public static Expression> ProjectToLDto => p20 => new PositionLDto() { Name = p20.Name, Description = p20.Description, ComplexId = p20.ComplexId, SectionId = p20.SectionId, SectionName = p20.Section != null ? p20.Section.Name : string.Empty, Id = p20.Id }; private static Complex funcMain1(Never p12, Complex p13, PositionLDto p10) { Complex result = p13 ?? new Complex(); result.Id = p10.ComplexId; return result; } private static Section funcMain2(Never p14, Section p15, PositionLDto p10) { Section result = p15 ?? new Section(); result.Name = p10.SectionName; result.Id = p10.SectionId; return result; } } }