Пример #1
0
        public async Task <IActionResult> NewOrderYesCustomer([FromBody] OrderYesCustomerView orderView)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(CustomResponse(ModelState));
                }

                await _orderRepository.Save(orderView);
            }
            catch (Exception ex)
            {
                NotifyError(ex.Message);
            }
            return(CustomResponse());
        }
Пример #2
0
        private async Task Validation(OrderYesCustomerView order)
        {
            if (!_baseService.ViewValidation(new OrderYesCustomerValidation(), order))
            {
                return;
            }

            var customers = await _customerRepository.Query <Customer>("Select * from Customer nolock where email =@email", new { email = order.Email });

            if (!customers.Any())
            {
                _notifier.SetNotification(new Notification("Cliente não encontrado"));
                return;
            }
            _customer = customers.FirstOrDefault();

            var selectFlavors = order.Items.Select(src => src.Flavors);

            await PrepareFlavors(selectFlavors);
        }
Пример #3
0
        public async Task Save(OrderYesCustomerView orderView)
        {
            try
            {
                await Validation(orderView);

                if (_notifier.HasNotification())
                {
                    return;
                }
                _context.Begin();
                await Save(orderView.DateCreate, orderView.Items);

                _context.Commit();
            }
            catch (Exception ex)
            {
                _context.Rollback();
                _notifier.SetNotification(new Notification("Não foi possível salvar esse registro, veja o erro:" + ex.Message));
            }
        }
Пример #4
0
        public async Task CreateOrderYesCustomer()
        {
            var entry = new OrderYesCustomerView
            {
                DateCreate = DateTime.Now,
                Email      = "*****@*****.**",
                Items      = new List <OrderItemView>()
            };

            entry.Items.Add(new OrderItemView {
                Flavors = new List <long> {
                    3, 4
                }
            });
            var payload = System.Text.Json.JsonSerializer.Serialize(entry);
            var client  = new SaleProvider()._client;

            var response = await client.PostAsync("/api/v1/Order/new/yes/customer", new StringContent(payload, Encoding.UTF8, "application/json"));

            response.EnsureSuccessStatusCode();
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
        }