コード例 #1
0
        private async Task SaveDataToDB(XML.Orders item)
        {
            await _orderRepository.AddAsync(new DTO.Orders()
            {
                OxId          = item.Order.Oxid,
                OrderDatetime = item.Order.Orderdate
            });

            await _orderRepository.SaveAsync();

            await _billingAddressesRepository.AddAsync(new DTO.BillingAddresses()
            {
                Email      = item.Order.Billingaddress.Billemail,
                Fullname   = item.Order.Billingaddress.Billfname,
                Street     = item.Order.Billingaddress.Billstreet,
                City       = item.Order.Billingaddress.Billcity,
                Zip        = item.Order.Billingaddress.Billzip,
                HomeNumber = item.Order.Billingaddress.Billstreetnr,
                OrderOxId  = item.Order.Oxid,
                Country    = item.Order.Billingaddress.Country.Geo
            });

            await _billingAddressesRepository.SaveAsync();

            await _paymentsRepository.AddAsync(new Payments()
            {
                Amount     = item.Order.Payments.Payment.Amount,
                OrderOxId  = item.Order.Oxid,
                MethodName = item.Order.Payments.Payment.Methodname
            });

            await _paymentsRepository.SaveAsync();

            var orderArticle = item.Order.Articles.Orderarticle;

            orderArticle.Select(article =>
                                _articlesRepository.AddAsync(new DTO.Articles()
            {
                OrderOxId    = item.Order.Oxid,
                Amount       = article.Amount,
                BrutPrice    = article.Brutprice,
                Nomenclature = article.Artnum,
                Title        = article.Title
            }));

            await _articlesRepository.SaveAsync();
        }
コード例 #2
0
        public async Task <IResult> ImportOrder()
        {
            IResult result = new Result();

            using (OrdersDBContext db = new OrdersDBContext())
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        string path          = Path.Combine(_env.ContentRootPath, _settings.XmlFileName);
                        string xmlInputData  = string.Empty;
                        string xmlOutputData = string.Empty;

                        xmlInputData = await File.ReadAllTextAsync(path);

                        XML.Orders item = Deserialize(xmlInputData);


                        //save to db
                        await SaveDataToDB(item);

                        result.Success = true;

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        result.Message = $"{MessagesDictionary.GetErrorMessag("Error")} Exception: {ex.Message}";
                    }
                }
            }

            return(result);
        }