public async Task <PurchaseViewModel> Add(AddPurchaseViewModel addPurchaseViewModel) { var currentDealer = await _dealerApplication.GetByCpf(addPurchaseViewModel.Cpf); if (currentDealer == null) { await _mediator.PublishEvent(new ApplicationNotification($"Não foi encontrado nenhum revendedor com o cpf: {addPurchaseViewModel.Cpf}")); return(null); } var purchase = currentDealer.IsAproved() ? new Purchase(currentDealer.Id, addPurchaseViewModel.Code, addPurchaseViewModel.Value, "Aprovado", addPurchaseViewModel.Date) : new Purchase(currentDealer.Id, addPurchaseViewModel.Code, addPurchaseViewModel.Value, "Em validação", addPurchaseViewModel.Date); if (!purchase.IsValid()) { foreach (var error in purchase.ValidationResult.Errors) { await _mediator.PublishEvent(new ApplicationNotification(error.ErrorMessage)); } return(null); } await _purchaseRepository.AddAsync(purchase); await base.Commit(); return(_mapper.Map <PurchaseViewModel>(purchase)); }
public async Task ShouldReturnNullIfNotFoundPurchaseByCpfDealer() { //Arrange var addPurchaseViewModel = new AddPurchaseViewModel { Code = "CodeTeste", Value = 100.00, Cpf = "000.111.222-77", Date = DateTime.Now }; //Act var result = await _purchaseApplication.Add(addPurchaseViewModel); //Assert _mediator.Invocations.Count().Should().Be(1); _mediator.Verify(x => x.PublishEvent(It.Is <ApplicationNotification>(q => q.Value == "Não foi encontrado nenhum revendedor com o cpf: 000.111.222-77"))); result.Should().BeNull(); }
public async Task <IActionResult> Post([FromBody] AddPurchaseViewModel addPurchaseViewModel) { try { if (!ModelState.IsValid) { return(base.ResponseError(ModelState.Values)); } var purchase = await _purchaseApplication.Add(addPurchaseViewModel); return(base.ResponseResult(purchase)); } catch (System.Exception ex) { return(base.BadRequest(ex.Message)); } }
public async Task ShouldReturnPurchaseViewModelIfAddAPurchaseWithSucess() { //Arrange var addPurchaseViewModel = new AddPurchaseViewModel { Code = "CodeTeste", Value = 100.00, Cpf = "000.111.222-77", Date = DateTime.Now }; var dealer = new Dealer("teste", "000.111.222-77", "*****@*****.**", "Teste@123"); _dealerApplication.Setup(x => x.GetByCpf(It.IsAny <string>())).ReturnsAsync(dealer); //Act var result = await _purchaseApplication.Add(addPurchaseViewModel); //Assert _mediator.Invocations.Count().Should().Be(1); result.Should().NotBeNull(); result.Status.Should().Be("Em validação"); }
public async Task ShouldReturnNullIfPurchaseDomainInvalid() { //Arrange var addPurchaseViewModel = new AddPurchaseViewModel { Cpf = "000.111.222-77" }; var dealer = new Dealer("teste", "000.111.222-77", "*****@*****.**", "Teste@123"); _dealerApplication.Setup(x => x.GetByCpf(It.IsAny <string>())).ReturnsAsync(dealer); //Act var result = await _purchaseApplication.Add(addPurchaseViewModel); //Assert _mediator.Invocations.Count().Should().Be(3); _mediator.Verify(x => x.PublishEvent(It.Is <ApplicationNotification>(q => q.Value == "O código é obrigatório"))); _mediator.Verify(x => x.PublishEvent(It.Is <ApplicationNotification>(q => q.Value == "O valor é obrigatório"))); _mediator.Verify(x => x.PublishEvent(It.Is <ApplicationNotification>(q => q.Value == "A data é obrigatório"))); result.Should().BeNull(); }
private void DisplayAddPurchasePopup() { AddPurchaseViewModel vm = new AddPurchaseViewModel(Client.LastVoucherIssueDate, Client.OldestActiveVoucher, AddPurchase); PopupService.DisplayModal(vm, "Ajout achat"); }
public WindowAddPurchase(Purchases purchases, int AmountGoods) { InitializeComponent(); DataContext = new AddPurchaseViewModel(purchases, AmountGoods); }