Пример #1
0
        public async Task ImportAsync(OrdersImport request)
        {
            var orders = request.Orders.Select(x =>
            {
                try
                {
                    var order = new Database.Domain.Order
                    {
                        OxId             = x.Id,
                        OrderDatetime    = x.OrderDatetime,
                        BillingAddresses = new List <Database.Domain.BillingAddress>
                        {
                            new Database.Domain.BillingAddress
                            {
                                City       = x.BillingAddress.City,
                                Country    = x.BillingAddress.Country.Geo,
                                Email      = x.BillingAddress.Email,
                                FullName   = x.BillingAddress.FullName,
                                HomeNumber = x.BillingAddress.HomeNumber,
                                Street     = x.BillingAddress.Street,
                                Zip        = x.BillingAddress.Zip
                            }
                        },
                        Articles = x.Articles
                                   .Select(a => new Database.Domain.Article
                        {
                            Amount       = a.Amount,
                            BrutPrice    = a.BrutPrice,
                            Nomenclature = a.Nomenclature,
                            Title        = a.Title
                        })
                                   .ToList(),
                        Payments = x.Payments
                                   .Select(p => new Database.Domain.Payment
                        {
                            Amount     = p.Amount,
                            MethodName = p.MethodName
                        })
                                   .ToArray()
                    };

                    return(order);
                }
                catch
                {
                    // todo: add logging
                    return(null);
                }
            }).Where(x => x != null);


            dbContext.AddRange(orders);
            await dbContext.SaveChangesAsync();
        }
Пример #2
0
        public async Task <IActionResult> ImportAsync([FromBody] OrdersImport request)
        {
            await orderService.ImportAsync(request);

            return(Ok());
        }