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)); }