protected override TypeAdapterSetter <Employee, EmployeeEntity> Configure(TypeAdapterSetter <Employee, EmployeeEntity> typeAdapterSetter) => base.Configure(typeAdapterSetter) .Ignore(dest => dest.Tenant) .Ignore(dest => dest.TenantId) .Map(dest => dest.Address1, src => src.HomeAddress.Street1) .Map(dest => dest.Address2, src => src.HomeAddress.Street2) .Map(dest => dest.City, src => src.HomeAddress.City) .Map(dest => dest.State, src => src.HomeAddress.State) .Map(dest => dest.ZipCode, src => src.HomeAddress.ZipCode) .Map(dest => dest.CurrencyCode, src => src.Salary.Currency.Code) ;
protected override TypeAdapterSetter <Employee, EmployeeViewModel> Configure(TypeAdapterSetter <Employee, EmployeeViewModel> typeAdapterSetter) => base.Configure(typeAdapterSetter) .Ignore(dest => dest.TenantId) .Map(dest => dest.Address1, src => src.HomeAddress.Street1) .Map(dest => dest.Address2, src => src.HomeAddress.Street2) .Map(dest => dest.City, src => src.HomeAddress.City) .Map(dest => dest.State, src => src.HomeAddress.State) .Map(dest => dest.ZipCode, src => src.HomeAddress.ZipCode) .Map(dest => dest.CurrencyCode, src => src.Salary.Currency.Code) .AfterMapping((src, dest) => dest.SubordinateIds = src.Subordinates.Select(s => s.Id).ToList()) ;
internal ObjMapSetter(TypeAdapterSetter <TSource, TDestination> setter) { _innerSetter = setter; }
protected override TypeAdapterSetter <PaidTimeOffRequestEntity, PaidTimeOffRequestViewModel> Configure(TypeAdapterSetter <PaidTimeOffRequestEntity, PaidTimeOffRequestViewModel> typeAdapterSetter) => base.Configure(typeAdapterSetter) .Map(dest => dest.SubmittedByName, src => src.SubmittedBy != null ? $"{src.SubmittedBy.FirstName} {src.SubmittedBy.LastName}" : "");
protected override TypeAdapterSetter <Employee, AddOrUpdateEmployeeViewModel> Configure(TypeAdapterSetter <Employee, AddOrUpdateEmployeeViewModel> typeAdapterSetter) => base.Configure(typeAdapterSetter) .Ignore(dest => dest.TenantId) .Map(dest => dest.Address1, src => src.HomeAddress.Street1) .Map(dest => dest.Address2, src => src.HomeAddress.Street2) .Map(dest => dest.City, src => src.HomeAddress.City) .Map(dest => dest.State, src => src.HomeAddress.State) .Map(dest => dest.ZipCode, src => src.HomeAddress.ZipCode) ;
protected override TypeAdapterSetter <PaidTimeOffRequest, PaidTimeOffRequestEntity> Configure(TypeAdapterSetter <PaidTimeOffRequest, PaidTimeOffRequestEntity> typeAdapterSetter) => base.Configure(typeAdapterSetter) .Map(dest => dest.ForEmployeeId, src => src.ForEmployee.Id) .Map(dest => dest.SubmittedById, src => src.SubmittedBy.Id);
/// <summary> /// Extension method to be used in MapsterConfig.cs to ignore to map virtual property /// </summary> /// <typeparam name="TSource"></typeparam> /// <typeparam name="TDestination"></typeparam> /// <param name="expression"></param> /// <returns></returns> public static TypeAdapterSetter <TSource, TDestination> IgnoreAllVirtual <TSource, TDestination>(this TypeAdapterSetter <TSource, TDestination> expression) { var destType = typeof(TDestination); foreach (var property in destType.GetProperties().Where(p => p.GetGetMethod().IsVirtual)) { expression.Ignore(property.Name); } return(expression); }
protected override TypeAdapterSetter <PaidTimeOffRequest, PaidTimeOffRequestViewModel> Configure(TypeAdapterSetter <PaidTimeOffRequest, PaidTimeOffRequestViewModel> typeAdapterSetter) => base.Configure(typeAdapterSetter) .Map(dest => dest.ForEmployeeId, src => src.ForEmployee.Id) .Map(dest => dest.SubmittedById, src => src.SubmittedBy.Id) .Map(dest => dest.ForEmployeeName, src => StringHelper.GetFullName(src.ForEmployee.FirstName, src.ForEmployee.MiddleName, src.ForEmployee.LastName)) .Map(dest => dest.SubmittedByName, src => StringHelper.GetFullName(src.SubmittedBy.FirstName, src.SubmittedBy.MiddleName, src.SubmittedBy.LastName));