Files
BeReadyBackend/BeReadyBackend/MappingProfiles/EntityToDtoMappings.cs
T

55 lines
2.5 KiB
C#

using AutoMapper;
using BeReadyBackend.DTO.Achievements;
using BeReadyBackend.DTO.Friends;
using BeReadyBackend.DTO.Groups;
using BeReadyBackend.DTO.Users;
using BeReadyBackend.Models;
using NSwag.Generation.Processors;
namespace BeReadyBackend.MappingProfiles;
public class EntityToDtoMappings : Profile
{
public EntityToDtoMappings()
{
CreateMap<Achievement, GetAchievementDto>();
CreateMap<UserAchievement, GetAchievementDto>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Achievement!.Id))
.ForMember(dest => dest.Label, opt => opt.MapFrom(src => src.Achievement!.Label))
.ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Achievement!.Description));
CreateMap<User, GetUserDto>()
.ForMember(dest => dest.GetUserStatsDto, opt => opt.MapFrom(src => src));
CreateMap<User, GetUserDetailsDto>()
.ForMember(dest => dest.GetUserStatsDto, opt => opt.MapFrom(src => src));
CreateMap<User, GetUserStatsDto>();
CreateMap<UserGroup, GetUserProofDto>();
CreateMap<UserRandomChallenge, GetUserProofDto>();
CreateMap<RandomChallenge, GetUserChallengeDto>()
.ForMember(dest => dest.ChallengeTitle, opt => opt.MapFrom(src => src.Libelle))
.ForMember(dest => dest.ChallengeDuration, opt => opt.MapFrom(src => src.Duration));
CreateMap<Group, GetUserChallengeDto>()
.ForMember(dest => dest.ChallengeTitle, opt => opt.MapFrom(src => src.Title))
.ForMember(dest => dest.ChallengeDescription, opt => opt.MapFrom(src => src.Description))
.ForMember(dest => dest.ChallengeDuration, opt => opt.MapFrom(src => src.Duration));
CreateMap<UserFriend, GetFriendDto>()
.ForMember(dest => dest.Username, opt => opt.MapFrom(src => src.Friend!.Username))
.ForMember(dest => dest.Score, opt => opt.MapFrom(src => src.Friend!.Score));
CreateMap<UserFriend, GetFriendRequestDto>()
.ForMember(dest => dest.Username, opt => opt.MapFrom(src => src.User!.Username))
.ForMember(dest => dest.Score, opt => opt.MapFrom(src => src.User!.Score));
CreateMap<UserGroup, GetUserGroupDto>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.UserId))
.ForMember(dest => dest.Username, opt => opt.MapFrom(src => src.User!.Username))
.ForMember(dest => dest.Score, opt => opt.MapFrom(src => src.User!.Score));
}
}