using AutoMapper; using GameIdeas.Shared.Dto; using GameIdeas.Shared.Model; namespace GameIdeas.WebAPI.Profiles; public class GameProfile : Profile { public GameProfile() { CreateMap() .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() .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(); } }