42 lines
2.4 KiB
C#
42 lines
2.4 KiB
C#
using AutoMapper;
|
|
using GameIdeas.Shared.Dto;
|
|
using GameIdeas.Shared.Model;
|
|
|
|
namespace GameIdeas.WebAPI.Profiles;
|
|
|
|
public class GameProfile : Profile
|
|
{
|
|
public GameProfile()
|
|
{
|
|
CreateMap<Game, GameDetailDto>()
|
|
.ForMember(d => d.Id, o => o.MapFrom(s => s.Id))
|
|
.ForMember(d => d.Title, o => o.MapFrom(s => s.Title))
|
|
.ForMember(d => d.ReleaseDate, o => o.MapFrom(s => s.ReleaseDate))
|
|
.ForMember(d => d.CreationDate, o => o.MapFrom(s => s.CreationDate))
|
|
.ForMember(d => d.CreationUserId, o => o.MapFrom(s => s.CreationUserId))
|
|
.ForMember(d => d.ModificationDate, o => o.MapFrom(s => s.ModificationDate))
|
|
.ForMember(d => d.ModificationUserId, o => o.MapFrom(s => s.ModificationUserId))
|
|
.ForMember(d => d.StorageSpace, o => o.MapFrom(s => s.StorageSpace))
|
|
.ForMember(d => d.Description, o => o.MapFrom(s => s.Description))
|
|
.ForMember(d => d.Interest, o => o.MapFrom(s => s.Interest))
|
|
.ForMember(d => d.Platforms, o => o.MapFrom(s => s.GamePlatforms.Select(p => new PlatformDto() { Id = p.Platform.Id, Label = p.Platform.Label, Url = p.Url, IconUrl = p.Platform.IconUrl })))
|
|
.ForMember(d => d.Properties, o => o.MapFrom(s => s.GameProperties.Select(p => p.Property)))
|
|
.ForMember(d => d.Tags, o => o.MapFrom(s => s.GameTags.Select(t => t.Tag)))
|
|
.ForMember(d => d.Publisher, o => o.MapFrom(s => s.Publisher))
|
|
.ForMember(d => d.Publisher!.Id, o => o.MapFrom(s => s.PublisherId))
|
|
.ForMember(d => d.Developer, o => o.MapFrom(s => s.Developer))
|
|
.ForMember(d => d.Developer!.Id, o => o.MapFrom(s => s.DeveloperId))
|
|
.ReverseMap();
|
|
|
|
CreateMap<Game, GameDto>()
|
|
.ForMember(d => d.Id, o => o.MapFrom(s => s.Id))
|
|
.ForMember(d => d.Title, o => o.MapFrom(s => s.Title))
|
|
.ForMember(d => d.ReleaseDate, o => o.MapFrom(s => s.ReleaseDate))
|
|
.ForMember(d => d.Platforms, o => o.MapFrom(s => s.GamePlatforms.Select(p => new PlatformDto() { Id = p.Platform.Id, Label = p.Platform.Label, Url = p.Url, IconUrl = p.Platform.IconUrl })))
|
|
.ForMember(d => d.Tags, o => o.MapFrom(s => s.GameTags.Select(t => t.Tag)))
|
|
.ForMember(d => d.StorageSpace, o => o.MapFrom(s => s.StorageSpace))
|
|
.ForMember(d => d.Interest, o => o.MapFrom(s => s.Interest))
|
|
.ReverseMap();
|
|
}
|
|
}
|