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
34
35
36
37
38
|
using DevHive.Data.Models;
using AutoMapper;
using DevHive.Services.Models.Identity.User;
using DevHive.Common.Models.Misc;
using DevHive.Data.RelationModels;
namespace DevHive.Services.Configurations.Mapping
{
public class UserMappings : Profile
{
public UserMappings()
{
CreateMap<UserServiceModel, User>();
CreateMap<RegisterServiceModel, User>();
CreateMap<FriendServiceModel, User>();
// .ForMember(dest => dest.Friends, src => src.Ignore());
CreateMap<UserFriend, FriendServiceModel>()
.ForMember(dest => dest.UserName, src => src.MapFrom(p => p.Friend.UserName));
CreateMap<UpdateUserServiceModel, User>()
// .ForMember(dest => dest.Friends, src => src.Ignore())
.AfterMap((src, dest) => dest.PasswordHash = PasswordModifications.GeneratePasswordHash(src.Password));
CreateMap<UpdateFriendServiceModel, User>();
CreateMap<User, UserServiceModel>()
.ForMember(dest => dest.Friends, src => src.MapFrom(p => p.MyFriends))
.ForMember(dest => dest.ProfilePictureURL, src => src.MapFrom(p => p.ProfilePicture.PictureURL));
// .ForMember(dest => dest.Friends, src => src.MapFrom(p => p.Friends));
CreateMap<User, UpdateUserServiceModel>()
.ForMember(x => x.Password, opt => opt.Ignore())
.ForMember(dest => dest.ProfilePictureURL, src => src.MapFrom(p => p.ProfilePicture.PictureURL));
CreateMap<User, FriendServiceModel>();
CreateMap<UserFriend, FriendServiceModel>()
.ForMember(dest => dest.UserName, src => src.MapFrom(p => p.Friend.UserName))
.ForMember(dest => dest.Id, src => src.MapFrom(p => p.FriendId));
}
}
}
|