aboutsummaryrefslogtreecommitdiff
path: root/src/Services/DevHive.Services/Configurations/Mapping/PostMappings.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Services/DevHive.Services/Configurations/Mapping/PostMappings.cs')
-rw-r--r--src/Services/DevHive.Services/Configurations/Mapping/PostMappings.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/Services/DevHive.Services/Configurations/Mapping/PostMappings.cs b/src/Services/DevHive.Services/Configurations/Mapping/PostMappings.cs
new file mode 100644
index 0000000..1d7d88b
--- /dev/null
+++ b/src/Services/DevHive.Services/Configurations/Mapping/PostMappings.cs
@@ -0,0 +1,32 @@
+using DevHive.Data.Models;
+using AutoMapper;
+using DevHive.Services.Models.Post;
+using DevHive.Common.Models.Misc;
+using System.Collections.Generic;
+using DevHive.Services.Models;
+
+namespace DevHive.Services.Configurations.Mapping
+{
+ public class PostMappings : Profile
+ {
+ public PostMappings()
+ {
+ CreateMap<CreatePostServiceModel, Post>();
+ CreateMap<UpdatePostServiceModel, Post>()
+ .ForMember(dest => dest.Id, src => src.MapFrom(p => p.PostId))
+ // .ForMember(dest => dest.Files, src => src.Ignore())
+ .ForMember(dest => dest.Message, src => src.MapFrom(p => p.NewMessage));
+
+ CreateMap<Post, ReadPostServiceModel>()
+ .ForMember(dest => dest.PostId, src => src.MapFrom(p => p.Id))
+ .ForMember(dest => dest.CreatorFirstName, src => src.MapFrom(p => p.Creator.FirstName))
+ .ForMember(dest => dest.CreatorLastName, src => src.MapFrom(p => p.Creator.LastName))
+ .ForMember(dest => dest.CreatorUsername, src => src.MapFrom(p => p.Creator.UserName));
+
+ CreateMap<Post, IdModel>()
+ .ForMember(dest => dest.Id, src => src.MapFrom(x => x.Id));
+
+ CreateMap<List<Post>, ReadPageServiceModel>();
+ }
+ }
+}