summaryrefslogtreecommitdiff
path: root/Profiles/UserAccountProfile.cs
blob: 0b14efcfb450579154fbba4c462686f42f6837eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using AutoMapper;
using BackendPIA.Models;
using BackendPIA.Forms;

namespace BackendPIA.Profiles {
    public class UserAccountProfile : Profile {
        public UserAccountProfile() {
            CreateMap<UserAccountForm, UserAccount>().ReverseMap();
            CreateMap<UserAccount, UserAccountDTO>().ForMember(dto => dto.Tickets, o => o.MapFrom(UserTickets));
        }

        private ICollection<TicketDTO> UserTickets(UserAccount user, UserAccountDTO dto) {
            ICollection<TicketDTO> tickets = new List<TicketDTO>();

            if(user.Tickets == null)
                return tickets;

            foreach (var ticket in user.Tickets) {
                tickets.Add(new TicketDTO {
                    Id = ticket.Id,
                    Number = ticket.Number,
                    IsWinner = ticket.IsWinner,
                    RaffleId = ticket.RaffleId,
                    UserAccountId = user.Id
                });
            }

            return tickets;
        }
    }
}