Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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));
            }
        }
Esempio n. 4
0
        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");
        }
Esempio n. 5
0
        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);
 }