예제 #1
0
        // POST api/SaveWebOrder
        public async Task SaveWebOrder(OrderMDto order)
        {
            var client = new RestClient($"{Url}/api/SaveWebOrder")
            {
                Timeout = -1,
            };

            try
            {
                var request = await this.GetRequestAsync();

                request.AddJsonBody(JsonConvert.SerializeObject(order));
                IRestResponse response = await client.ExecutePostAsync(request);

                if (!response.IsSuccessful)
                {
                    throw new Exception("Request failed!");
                }
            }
            catch (Exception e)
            {
                if (e.InnerException != null)
                {
                    throw new Exception(e.InnerException.Message);
                }

                throw new Exception(e.Message);
            }
        }
        // POST http://localhost:51981/api/SaveWebOrde
        public async Task SaveWebOrder(OrderMDto order)
        {
            await File.WriteAllTextAsync("./../../Services/Tapas.Services/Result/SaveWebOrder.json", JsonConvert.SerializeObject(order));

            var client = new RestClient($"{Url}/api/SaveWebOrder");

            client.Timeout = -1;
            try
            {/*
              * var request = await this.GetRequestAsync();
              * request.AddJsonBody(JsonConvert.SerializeObject(order));
              * IRestResponse response = await client.ExecutePostAsync(request);
              *
              * throw new Exception("Request failed!");   */
            }
            catch (Exception e)
            {
                if (e.InnerException is null)
                {
                    throw new Exception(e.InnerException.Message);
                }

                throw new Exception(e.Message);
            }
        }
예제 #3
0
        private async Task SendOrderToMistraalAsync(Order order)
        {
            var orderDto = new OrderMDto()
            {
                LocationId = LocationId,
                StoreId    = StoreId,
                Date       = DateTime.Now,
                Info       = order.AddInfo,
                Sales      = new List <OrderItemMDto>(),
            };

            foreach (var item in order.Bag.CartItems)
            {
                orderDto.Sales.Add(new OrderItemMDto()
                {
                    Code       = item.Size.MistralCode,
                    Name       = item.Size.MistralName,
                    SalesPrice = item.Size.Price,
                    Qtty       = item.Quantity,
                });

                foreach (var extra in item.ExtraItems)
                {
                    orderDto.Sales.Add(new OrderItemMDto()
                    {
                        Code       = extra.Extra.MistralCode,
                        Name       = extra.Extra.MistralName,
                        SalesPrice = extra.Extra.Price,
                        Qtty       = extra.Quantity,
                    });
                }

                orderDto.Sales.Add(new OrderItemMDto()
                {
                    Code       = item.Size.Package.MistralCode,
                    Name       = item.Size.Package.MistralName,
                    SalesPrice = item.Size.Package.Price,
                    Qtty       = Math.Ceiling((decimal)item.Quantity / item.Size.MaxProductsInPackage),
                });
            }

            if (!order.TakeAway && order.DeliveryTaxId.HasValue)
            {
                var tax = this.deliveryTaxRepository
                          .All()
                          .Where(x => x.Id == order.DeliveryTaxId)
                          .FirstOrDefault();
                if (tax != null)
                {
                    orderDto.Sales.Add(new OrderItemMDto()
                    {
                        Code       = tax.MistralCode,
                        Name       = tax.MistralName,
                        SalesPrice = tax.Price,
                        Qtty       = Qtty,
                    });
                }
            }

            await this.mistralService.SaveWebOrder(orderDto);
        }