PlayerManagement/Application/Profiles/ZombieSiegeProfile.cs
2024-11-28 13:16:41 +01:00

27 lines
1.1 KiB
C#

using Application.DataTransferObjects.ZombieSiege;
using AutoMapper;
using Database.Entities;
namespace Application.Profiles;
public class ZombieSiegeProfile : Profile
{
public ZombieSiegeProfile()
{
CreateMap<ZombieSiege, ZombieSiegeDto>()
.ForMember(des => des.TotalLevel20Players,
opt => opt.MapFrom(src => src.ZombieSiegeParticipants.Count(p => p.SurvivedWaves == 20)));
CreateMap<ZombieSiege, ZombieSiegeDetailDto>()
.ForMember(des => des.TotalLevel20Players,
opt => opt.MapFrom(src => src.ZombieSiegeParticipants.Count(p => p.SurvivedWaves == 20)));
CreateMap<CreateZombieSiegeDto, ZombieSiege>()
.ForMember(des => des.Id, opt => opt.MapFrom(src => Guid.CreateVersion7()))
.ForMember(des => des.EventDate, opt => opt.MapFrom(src => DateTime.Parse(src.EventDate)));
CreateMap<UpdateZombieSiegeDto, ZombieSiege>()
.ForMember(des => des.EventDate, opt => opt.MapFrom(src => DateTime.Parse(src.EventDate)))
.ForMember(des => des.ModifiedOn, opt => opt.MapFrom(src => DateTime.Now));
}
}