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