/
GiftCardManagementWebAutoMapperProfile.cs
33 lines (32 loc) · 1.71 KB
/
GiftCardManagementWebAutoMapperProfile.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System.Collections.Generic;
using EasyAbp.GiftCardManagement.GiftCardTemplates.Dtos;
using EasyAbp.GiftCardManagement.GiftCards.Dtos;
using AutoMapper;
using EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCards.GiftCard.ViewModels;
using EasyAbp.GiftCardManagement.Web.Pages.GiftCardManagement.GiftCardTemplates.GiftCardTemplate.ViewModels;
using Newtonsoft.Json;
using Volo.Abp.AutoMapper;
using Volo.Abp.Data;
namespace EasyAbp.GiftCardManagement.Web
{
public class GiftCardManagementWebAutoMapperProfile : Profile
{
public GiftCardManagementWebAutoMapperProfile()
{
/* You can configure your AutoMapper mapping configuration here.
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
CreateMap<GiftCardTemplateDto, CreateUpdateGiftCardTemplateViewModel>().ForMember(
model => model.ExtraProperties,
opt => opt.MapFrom(src => JsonConvert.SerializeObject(src.ExtraProperties)));
CreateMap<CreateUpdateGiftCardTemplateViewModel, CreateUpdateGiftCardTemplateDto>()
.ForMember(dto => dto.ExtraProperties,
opt => opt.MapFrom(src =>
JsonConvert.DeserializeObject<ExtraPropertyDictionary>(src.ExtraProperties)));
CreateMap<GiftCardDto, CreateGiftCardViewModel>().Ignore(model => model.Password);
CreateMap<GiftCardDto, UpdateGiftCardDto>().Ignore(dto => dto.Password);
CreateMap<CreateGiftCardViewModel, CreateGiftCardDto>(MemberList.Source);
CreateMap<ConsumeGiftCardViewModel, ConsumeGiftCardDto>(MemberList.Source);
}
}
}