aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
blob: e80a69a6ca5b1112e8e63e5a44b92f8cb62f129a (plain) (blame)
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
using AutoMapper;
using DevHive.Services.Models.Identity.User;
using DevHive.Web.Models.Identity.User;
using DevHive.Common.Models.Identity;
using DevHive.Web.Models.Language;
using DevHive.Web.Models.Technology;

namespace DevHive.Web.Configurations.Mapping
{
	public class UserMappings : Profile
	{
		public UserMappings()
		{
			CreateMap<LoginWebModel, LoginServiceModel>();
			CreateMap<RegisterWebModel, RegisterServiceModel>();
			CreateMap<UserWebModel, UserServiceModel>();
			CreateMap<UpdateUserWebModel, UpdateUserServiceModel>();

			CreateMap<UserServiceModel, UserWebModel>();

			CreateMap<TokenModel, TokenWebModel>();

			//Update
			CreateMap<UpdateUserWebModel, UpdateUserServiceModel>()
				.ForMember(src => src.Id, dest => dest.Ignore());
			CreateMap<FriendWebModel, FriendServiceModel>()
				.ForMember(src => src.Id, dest => dest.Ignore());
			CreateMap<FriendWebModel, UpdateFriendServiceModel>()
				.ForMember(src => src.Id, dest => dest.Ignore())
				.ForMember(src => src.Name, dest => dest.MapFrom(p => p.UserName));

			CreateMap<UpdateUserServiceModel, UpdateUserWebModel>();
			CreateMap<FriendServiceModel, FriendWebModel>();
		}
	}
}