private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            if (TotalToPay.Content != null &&
                decimal.TryParse(TotalToPay.Content.ToString(), out var totalToPay) && !CartStorage.Instance.Empty)
            {
                var confirmationDialog = new SubmitCart(totalToPay);

                if (confirmationDialog.ShowDialog().GetValueOrDefault())
                {
                    var soldProductsService = new SoldProductsService(ConfigurationManager.AppSettings["ApiUrl"]);
                    var result = soldProductsService.SubmitSoldCart(CartStorage.Instance.GetCartProducts(), confirmationDialog.ChangeSum, confirmationDialog.ReceivedAmount);

                    if (!result)
                    {
                        MessageBox.Show("Не удалось обработать заказ.");
                    }
                    else
                    {
                        ClearCart();
                    }
                }
            }
            SubmitButton.Focusable = false;
            Keyboard.ClearFocus();
        }
        public IActionResult SubmitCart([FromBody] ShoppingCart cart)
        {
            using (var client = new HttpClient())
            {
                SubmitCart cmd = new SubmitCart()
                {
                    Cart = cart
                };

                var response = client.PostAsync(_options.ServiceBase + "/inject/submit",
                                                new StringContent(JsonConvert.SerializeObject(cmd).ToString(),
                                                                  Encoding.UTF8, "application/json"))
                               .Result;

                return(Json("success"));
            }
        }
示例#3
0
        public void handle(SubmitCart command)
        {
            List <OrderItem> items = new List <OrderItem>();

            foreach (var prop in command.Cart.Products)
            {
                items.Add(new OrderItem()
                {
                    ProductId = prop.Key,
                    Quantity  = prop.Value
                });
            }

            var order = new Order()
            {
                Id          = Guid.NewGuid(),
                CreatedDate = DateTime.Now,
                Items       = items,
                UserId      = Guid.Empty,
                Status      = OrderStatus.Pending
            };

            _repository.AddOrder(order);
        }