public AutoMapperProfiles() { CreateMap <User, UserForListDto>().ForMember(destinationMember => destinationMember.PhotoUrl, IMappingOperationOptions => { IMappingOperationOptions.MapFrom(sourceMember => sourceMember.Photos.FirstOrDefault(p => p.IsMain).Url); }).ForMember(Propertytomanuallychange => Propertytomanuallychange.Age, IMappingOperationOptions => { IMappingOperationOptions.ResolveUsing(source => source.DateOfBirth.CalculateAge()); }); CreateMap <User, UserForDetailedDto>().ForMember(destinationMember => destinationMember.PhotoUrl, IMappingOperationOptions => { IMappingOperationOptions.MapFrom(sourceMember => sourceMember.Photos.FirstOrDefault(p => p.IsMain).Url); }).ForMember(Propertytomanuallychange => Propertytomanuallychange.Age, IMappingOperationOptions => { IMappingOperationOptions.ResolveUsing(source => source.DateOfBirth.CalculateAge()); }); CreateMap <Photo, PhotosForDetailedDto>(); CreateMap <UserForUpdateDto, User>(); CreateMap <Photo, PhotoForReturnDto>(); CreateMap <PhotoForCreationDto, Photo>(); CreateMap <UserForRegisterDto, User>(); CreateMap <MessageForCreationDto, Message>().ReverseMap(); CreateMap <Message, MessageToReturnDto>() .ForMember(m => m.SenderPhotoUrl, opt => opt.MapFrom(m => m.Sender.Photos.FirstOrDefault(p => p.IsMain).Url)) .ForMember(m => m.RecipientPhotoUrl, opt => opt.MapFrom(m => m.Recipient.Photos.FirstOrDefault(p => p.IsMain).Url)); }
public static void AfterMap <TSource, TDestination>(this IMappingOperationOptions options, Action <TSource, TDestination> afterFunction) { options.ArgumentNotNull(nameof(options)); afterFunction.ArgumentNotNull(nameof(afterFunction)); options.AfterMap((src, dest) => afterFunction((TSource)src, (TDestination)dest)); }
public static IMappingOperationOptions UseEntityCache <TKey, TEntity>( this IMappingOperationOptions options, IEntityCacheAccessor <TKey, TEntity> entityCache) where TEntity : class { EntityCacheResolutionContextHelper.Add(options.Items, entityCache); return(options); }
public static T GetItem <T>(this IMappingOperationOptions options, string key, T defaultValue) { object obj; if (options.Items.TryGetValue(key, out obj)) { return((T)obj); } return(defaultValue); }
public static IMappingOperationOptions OnMap <TSrc, TDst>(this IMappingOperationOptions opts, Action <TSrc, TDst> resolve) { var srcTypeName = typeof(TSrc); var dstTypeName = typeof(TDst); var ctxKey = $"OnMap_{srcTypeName}_{dstTypeName}"; opts.Items.Add(ctxKey, resolve); return(opts); }
public AutoMapperProfiles() { CreateMap <User, UserForListDto>() .ForMember(dest => dest.PhotoUrl, opt => opt.MapFrom(sourceMember => sourceMember.Photos.FirstOrDefault(p => p.IsMain).Url)) .ForMember(dest => dest.Age, IMappingOperationOptions => IMappingOperationOptions .MapFrom(src => src.DateOfBirth.CalculateAge())); CreateMap <User, UserForDetailedDto>() .ForMember(dest => dest.PhotoUrl, opt => opt.MapFrom(sourceMember => sourceMember.Photos.FirstOrDefault(p => p.IsMain).Url)) .ForMember(dest => dest.Age, IMappingOperationOptions => IMappingOperationOptions .MapFrom(src => src.DateOfBirth.CalculateAge())); CreateMap <Photo, PhotosForDetailedDto>(); }
private static void PartialCopySetup(IMappingOperationOptions options, IFieldsFilter partialOutput, IFieldsFilter partialInput) { if (partialOutput != null) { options.Items[PartialOutput] = partialOutput; options.Items[PartialOutputPath] = new List <string>(); } if (partialInput != null) { options.Items[PartialInput] = partialInput; } }
public static IMappingOperationOptions <Campaign, Entities.Tenant.Campaigns.Campaign> IgnoreCollections( this IMappingOperationOptions <Campaign, Entities.Tenant.Campaigns.Campaign> opts) { if (opts == null) { return(null); } if (!opts.Items.ContainsKey(IgnoreCollectionsItemName)) { opts.Items.Add(IgnoreCollectionsItemName, true); } return(opts); }
public static IMappingOperationOptions WithSelectionValue( this IMappingOperationOptions opts, bool value) { if (opts == null) { return(null); } if (!opts.Items.ContainsKey(FaultTypeSelectionValue)) { opts.Items.Add(FaultTypeSelectionValue, value); } return(opts); }
public static bool TryGetFaultTypeSelectionValue(this IMappingOperationOptions opts, out bool value) { value = false; if (opts is null) { return(false); } if (opts.Items.TryGetValue(FaultTypeSelectionValue, out var faultTypeSelectionValue)) { value = (bool)faultTypeSelectionValue; return(true); } return(false); }
public AutoMapperProfiles() { CreateMap <AppUser, MemberDto>() .ForMember(destinationMember => destinationMember.PhotoUrl, IMappingOperationOptions => IMappingOperationOptions .MapFrom(sourceMember => sourceMember.Photos.FirstOrDefault(x => x.IsMain).Url)) .ForMember(destinationMember => destinationMember.Age, IMappingOperationOptions => IMappingOperationOptions .MapFrom(sourceMember => sourceMember.DateOfBirth.CalculateAge())); CreateMap <Photo, PhotoDto>(); CreateMap <MemberUpdateDto, AppUser>(); CreateMap <RegisterDto, AppUser>(); }
public AutoMapperProfiles() { // we specify the source and the destination mappings CreateMap <User, UserForListDto>() //dest is destination, opt is option, src is source, p is photo // get photo URL .ForMember(dest => dest.PhotoUrl, opt => opt.MapFrom(src => src.Photos.FirstOrDefault(p => p.IsMain).Url)) // get age of user .ForMember(dest => dest.Age, IMappingOperationOptions => IMappingOperationOptions.MapFrom(src => src.DateOfBirth.CalculateAge())); CreateMap <User, UserForDetailedDto>() .ForMember(dest => dest.PhotoUrl, opt => opt.MapFrom(src => src.Photos.FirstOrDefault(p => p.IsMain).Url)) .ForMember(dest => dest.Age, IMappingOperationOptions => IMappingOperationOptions.MapFrom(src => src.DateOfBirth.CalculateAge())); CreateMap <Photo, PhotosForDetailedDto>(); // whenever you create a map, it's "from" then "to" // exmaple: you want to map UserForUpdateDto to the User, not the other way around CreateMap <UserForUpdateDto, User>(); }
public static void SetPreviousSheetVisitMarker( [NotNull] this IMappingOperationOptions <SheetEntry, SheetEntryDTO> mappingOperationOptions, [NotNull] PreviousSheetVisitMarker marker ) { if (mappingOperationOptions == null) { throw new ArgumentNullException(nameof(mappingOperationOptions)); } if (marker == null) { throw new ArgumentNullException(nameof(marker)); } try { mappingOperationOptions.Items.Add(SheetLastVisitedMarkerKey, marker); } catch (ArgumentException ex) { throw new InvalidOperationException($"{nameof(SetPreviousSheetVisitMarker)} has been called earlier", ex); } }
/// <summary> /// Sets a context culture. /// </summary> public static void SetCulture(this IMappingOperationOptions options, string culture) { options.Items[CultureKey] = culture; }
public static IMappingOperationOptions WithEducationOrganizations(this IMappingOperationOptions mappingOperationOptions, List <EducationOrganizationModel> educationOrganization) { mappingOperationOptions.Items[EducationOrganizationsKey] = educationOrganization ?? new List <EducationOrganizationModel>(); return(mappingOperationOptions); }
/// <summary> /// Gets the context culture. /// </summary> public static string GetCulture(this IMappingOperationOptions options) { return(options.Items.TryGetValue(CultureKey, out var obj) && obj is string s ? s : null); }
private void DefaultMappingOptions(IMappingOperationOptions opts) { opts.ConstructServicesUsing(_serviceCtor); }
public ResolutionContext(IMappingOperationOptions options, IRuntimeMapper mapper) { Options = options; Mapper = mapper; }
public static void InitialiseContext(IMappingOperationOptions opts) { opts.Items["Dummy"] = ""; }
private void DefaultMappingOptions(IMappingOperationOptions opts) { opts.ConstructServicesUsing(_container.Resolve); }
internal ResolutionContext(IMappingOperationOptions options, IInternalRuntimeMapper mapper) { Options = options; _inner = mapper; }
/// <summary> /// Configure mapper /// </summary> /// <param name="opt"></param> private static void RegisterModelConfigureMap(IMappingOperationOptions <RegisterViewModel, User> opt) { opt.ConfigureMap() .ForMember(x => x.Id, x => x.Ignore()) .ForMember(x => x.Score, x => x.Ignore()); }
public static void ConfigureMap(IMappingOperationOptions <CustomerDTO, Customer> opt) { opt.ConfigureMap() .ForMember(dest => dest.ID, m => m.Ignore()); }
public static void Localice(IMappingOperationOptions <object, object> opt, LanguageDTO language, ILocalizedPropertyRepository localizedPropertyRepository) { opt.Items["Language"] = language; opt.Items["Repository"] = localizedPropertyRepository; }
/// <summary> /// Get included properties. /// </summary> public static string[] GetIncludedProperties(this IMappingOperationOptions options) { return(options.Items.TryGetValue(IncludedPropertiesKey, out var obj) && obj is string[] s ? s : null); }
/// <summary> /// Sets included properties. /// </summary> public static void SetIncludedProperties(this IMappingOperationOptions options, string[] properties) { options.Items[IncludedPropertiesKey] = properties; }
public static bool AreCollectionsIgnored(this IMappingOperationOptions opts) { return(opts?.Items.ContainsKey(IgnoreCollectionsItemName) ?? false); }