| | 1 | | using AutoMapper; |
| | 2 | | using CoWorkingApp.Core.Domain.DTOs; |
| | 3 | | using CoWorkingApp.Core.Domain.Entities; |
| | 4 | |
|
| | 5 | | namespace CoWorkingApp.API.Infrastructure.Adapters |
| | 6 | | { |
| | 7 | | /// <summary> |
| | 8 | | /// Clase que define el perfil de mapeo entre entidades del dominio y DTO para la API. |
| | 9 | | /// </summary> |
| | 10 | | public class MappingProfile : Profile |
| | 11 | | { |
| | 12 | | /// <summary> |
| | 13 | | /// Constructor que configura el perfil de mapeo. |
| | 14 | | /// </summary> |
| 74 | 15 | | public MappingProfile() |
| 74 | 16 | | { |
| | 17 | | // Configura el mapeo entre la entidad User y su correspondiente DTO UserResponse |
| 74 | 18 | | CreateMap<User, UserResponse>(); |
| | 19 | | // Configura el mapeo entre el DTO UserRequest y su correspondiente entidad User |
| 74 | 20 | | CreateMap<UserRequest, User>(); |
| | 21 | |
|
| | 22 | | // Configura el mapeo entre la entidad Seat y su correspondiente DTO SeatResponse |
| 74 | 23 | | CreateMap<Seat, SeatResponse>(); |
| | 24 | | // Configura el mapeo entre el DTO SeatRequest y su correspondiente entidad Seat |
| 74 | 25 | | CreateMap<SeatRequest, Seat>(); |
| | 26 | |
|
| | 27 | | // Configura el mapeo entre la entidad Reservation y su correspondiente DTO ReservationResponse |
| 74 | 28 | | CreateMap<Reservation, ReservationResponse>() |
| 74 | 29 | | // Mapea la fecha de la reserva |
| 74 | 30 | | .ForMember(dest => dest.Date, opt => opt.MapFrom(src => src.Date)) |
| 74 | 31 | | // Mapea el nombre del usuario |
| 74 | 32 | | .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name)) |
| 74 | 33 | | // Mapea el apellido del usuario |
| 74 | 34 | | .ForMember(dest => dest.UserLastName, opt => opt.MapFrom(src => src.User.LastName)) |
| 74 | 35 | | // Mapea el correo electrónico del usuario |
| 74 | 36 | | .ForMember(dest => dest.UserEmail, opt => opt.MapFrom(src => src.User.Email)) |
| 74 | 37 | | // Mapea el nombre del asiento |
| 74 | 38 | | .ForMember(dest => dest.SeatName, opt => opt.MapFrom(src => src.Seat.Name)) |
| 74 | 39 | | // Mapea la descripción del asiento |
| 148 | 40 | | .ForMember(dest => dest.SeatDescription, opt => opt.MapFrom(src => src.Seat.Description)); |
| | 41 | |
|
| | 42 | | // Configura el mapeo entre el DTO ReservationRequest y su correspondiente entidad Reservation |
| 74 | 43 | | CreateMap<ReservationRequest, Reservation>() |
| 74 | 44 | | // Mapea la fecha de la reserva |
| 74 | 45 | | .ForMember(dest => dest.Date, opt => opt.MapFrom(src => src.Date)) |
| 74 | 46 | | // Mapea el identificador único del usuario |
| 74 | 47 | | .ForMember(dest => dest.UserId, opt => opt.MapFrom(src => src.UserId)) |
| 74 | 48 | | // Mapea el identificador único del asiento |
| 148 | 49 | | .ForMember(dest => dest.SeatId, opt => opt.MapFrom(src => src.SeatId)); |
| | 50 | |
|
| | 51 | | // Agrega otros mapeos necesarios aquí |
| 74 | 52 | | } |
| | 53 | | } |
| | 54 | | } |