using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using Brizco.Domain.Dtos.SmallDtos; using Brizco.Domain.Entities.Shift; namespace Brizco.Domain.Mappers { public static partial class ShiftMapper { public static Shift AdaptToShift(this ShiftSDto p1) { return p1 == null ? null : new Shift() { Title = p1.Title, StartAt = p1.StartAt, EndAt = p1.EndAt, Description = p1.Description, Days = funcMain1(p1.Days), Id = p1.Id }; } public static Shift AdaptTo(this ShiftSDto p3, Shift p4) { if (p3 == null) { return null; } Shift result = p4 ?? new Shift(); result.Title = p3.Title; result.StartAt = p3.StartAt; result.EndAt = p3.EndAt; result.Description = p3.Description; result.Days = funcMain2(p3.Days, result.Days); result.Id = p3.Id; return result; } public static Expression> ProjectToShift => p7 => new Shift() { Title = p7.Title, StartAt = p7.StartAt, EndAt = p7.EndAt, Description = p7.Description, Days = p7.Days.Select(p8 => new ShiftDay() {}).ToList(), Id = p7.Id }; public static ShiftSDto AdaptToSDto(this Shift p9) { return p9 == null ? null : new ShiftSDto() { Title = p9.Title, Description = p9.Description, StartAt = p9.StartAt, EndAt = p9.EndAt, Days = funcMain3(p9.Days != null ? p9.Days.Select(funcMain4).ToList() : new List()), Id = p9.Id }; } public static ShiftSDto AdaptTo(this Shift p11, ShiftSDto p12) { if (p11 == null) { return null; } ShiftSDto result = p12 ?? new ShiftSDto(); result.Title = p11.Title; result.Description = p11.Description; result.StartAt = p11.StartAt; result.EndAt = p11.EndAt; result.Days = funcMain5(p11.Days != null ? p11.Days.Select(funcMain4).ToList() : new List(), result.Days); result.Id = p11.Id; return result; } public static Expression> ProjectToSDto => p15 => new ShiftSDto() { Title = p15.Title, Description = p15.Description, StartAt = p15.StartAt, EndAt = p15.EndAt, Days = p15.Days != null ? p15.Days.Select(d => d.DayOfWeek).ToList() : new List(), Id = p15.Id }; private static List funcMain1(List p2) { if (p2 == null) { return null; } List result = new List(p2.Count); int i = 0; int len = p2.Count; while (i < len) { DayOfWeek item = p2[i]; result.Add(new ShiftDay() {}); i++; } return result; } private static List funcMain2(List p5, List p6) { if (p5 == null) { return null; } List result = new List(p5.Count); int i = 0; int len = p5.Count; while (i < len) { DayOfWeek item = p5[i]; result.Add(new ShiftDay() {}); i++; } return result; } private static List funcMain3(List p10) { if (p10 == null) { return null; } List result = new List(p10.Count); int i = 0; int len = p10.Count; while (i < len) { DayOfWeek item = p10[i]; result.Add(item); i++; } return result; } private static DayOfWeek funcMain4(ShiftDay d) { return d.DayOfWeek; } private static List funcMain5(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) { DayOfWeek item = p13[i]; result.Add(item); i++; } return result; } } }