Ejemplo n.º 1
0
        public MappingProfile()
        {
            CreateMap <NewCustomer, TbCustomer>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.CustomerId.Id))
            .ForMember(dest => dest.Type, opt => opt.MapFrom(src => (int)src.Type));

            CreateMap <Customer, TbCustomer>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.CustomerId.Id))
            .ForMember(dest => dest.Type, opt => opt.MapFrom(src => (int)src.Type))
            .ForMember(dest => dest.UpdatedAt, opt => opt.MapFrom(src => src.UpdatedAt))
            .ReverseMap()
            .ConstructUsing(
                src => new Customer(
                    CustomerId.FromValue(src.Id),
                    src.Name,
                    src.BirthDate,
                    (MassTransitTutorial.Domain.Type)src.Type,
                    src.CreatedAt,
                    src.UpdatedAt));

            CreateMap <Customer, CustomerDto>();

            CreateMap <NewCustomerDto, NewCustomer>()
            .ConstructUsing(src => new NewCustomer(
                                src.Name,
                                src.BirthDate,
                                (MassTransitTutorial.Domain.Type)Enum.Parse(typeof(MassTransitTutorial.Domain.Type), src.Type)));
        }
Ejemplo n.º 2
0
        public async Task <ServiceResult <CustomerDto> > GetCustomer(Guid customerId)
        {
            var customer = await _repo.WithId(CustomerId.FromValue(customerId));

            if (customer != Customer.Empty)
            {
                return(ServiceResult <CustomerDto> .Success(_mapper.Map <CustomerDto>(customer)));
            }
            return(ServiceResult <CustomerDto> .NotFound());
        }
        public async Task <ServiceResult <CustomerDto> > Update(UpdateBirthDateDto newDate)
        {
            var customer = await _repo.WithId(CustomerId.FromValue(newDate.CustomerId));

            if (customer != Customer.Empty)
            {
                customer.ChangeBirthDate(newDate.NewBirthDate);
                await _repo.ChangeBirthDate(customer);

                return(ServiceResult <CustomerDto> .Success(_mapper.Map <CustomerDto>(customer)));
            }
            return(ServiceResult <CustomerDto> .Error(
                       "ERR_CUST_404", $"There not customer with id {newDate.CustomerId}"));
        }