Example #1
0
        public async Task <DealerViewModel> Add(AddDealerViewModel addDealerViewModel)
        {
            var dealer = new Dealer(addDealerViewModel.Name, addDealerViewModel.Cpf, addDealerViewModel.Email, addDealerViewModel.Password);

            if (!dealer.IsValid())
            {
                foreach (var error in dealer.ValidationResult.Errors)
                {
                    await _mediator.PublishEvent(new ApplicationNotification(error.ErrorMessage));
                }

                return(null);
            }

            await _dealerRepository.AddAsync(dealer);

            await base.Commit();

            return(_mapper.Map <DealerViewModel>(dealer));
        }