40 lines
2.3 KiB
C#
40 lines
2.3 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 })))
|
|
.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.Publishers, o => o.MapFrom(s => s.GamePublishers.Select(p => p.Publisher)))
|
|
.ForMember(d => d.Developers, o => o.MapFrom(s => s.GameDevelopers.Select(gd => gd.Developer)))
|
|
.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 })))
|
|
.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();
|
|
}
|
|
}
|