public async Task <bool> AddOrderAsync(XAddOrderRequest request) { var httpClient = mHttpClientFactory.CreateClient(nameof(OrderHttpClient)); var body = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); using (var response = await httpClient.PostAsync($"{mOptions.OrderServiceBaseUrl}/Api/Internal/Orders", body)) { return(response.IsSuccessStatusCode); } }
public async Task <IActionResult> AddOrderAsync([FromBody] XAddOrderRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } if (!await mOrderService.AddOrderAsync(request)) { return(new ObjectResult(null) { StatusCode = 500 }); } return(Ok()); }
public async Task <bool> AddOrderAsync(XAddOrderRequest request) { var order = new Models.Entity.Order { UserID = request.UserID.Value, Address = request.Address, DeliveryMethod = request.DeliveryMethod.Value.ToEntity() }; order.OrderItems = request.OrderItems.Select(oi => new Models.Entity.OrderItem { ProductID = oi.ProductID.Value, OrderID = order.ID, Quantity = oi.Quantity.Value, Price = oi.Price.Value }).ToList(); order.TotalPrice = order.OrderItems.Sum(oi => oi.Quantity.Value * oi.Price.Value); mOrderDbContext.Orders.Add(order); await mOrderDbContext.SaveChangesAsync(); return(true); }
public async Task <bool> AddOrderAsync(XAddOrderRequest request) { return(await mOrderService.AddOrderAsync(request)); }