Пример #1
0
        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));
 }