public static ErrorCodes InsertSalesOrderHeaders(params EshopSalesOrderHeader[] eshopSalesOrderHeaders)
        {
            var result = ErrorCodes.NoSucces;

            try
            {
                if (eshopSalesOrderHeaders?.Any() == true)
                {
                    DebtorOrderClientModel debtorOrderClientModel = null;
                    EshopSalesOrderLines[] eshopSalesOrderLines   = null;
                    foreach (var eshopSalesOrderHeader in eshopSalesOrderHeaders)
                    {
                        debtorOrderClientModel = MapToDebtorOrderClientModel(eshopSalesOrderHeader);
                        result = Core.CAPI.Insert(debtorOrderClientModel).Result;
                        if (result == ErrorCodes.Succes)
                        {
                            eshopSalesOrderLines = GetEshopSalesOrderLines(eshopSalesOrderHeader?.eSalesNumber)?.ToArray();
                            InsertSalesOrderLines(debtorOrderClientModel, eshopSalesOrderLines);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(result);
        }
        public static DebtorOrderClientModel MapToDebtorOrderClientModel(EshopSalesOrderHeader eshopSalesOrderHeader)
        {
            DebtorOrderClientModel result = null;

            try
            {
                result = new DebtorOrderClientModel()
                {
                    _OrderNumber      = int.TryParse(eshopSalesOrderHeader?.SalesNumber, out int orderNumber) ? orderNumber : 0,
                    _InvoiceAmount    = eshopSalesOrderHeader.InvoiceAmount,
                    _CustomsNo        = eshopSalesOrderHeader?.CustAccount,
                    _Warehouse        = eshopSalesOrderHeader?.WareHouse,
                    Currency          = eshopSalesOrderHeader?.Currency,
                    _PaymentId        = eshopSalesOrderHeader?.PaymentId,
                    _Payment          = eshopSalesOrderHeader?.Payment,
                    _Created          = eshopSalesOrderHeader.CreateDate,
                    _Requisition      = eshopSalesOrderHeader.Requisition,
                    _DeliveryName     = eshopSalesOrderHeader.dlvName,
                    _DeliveryAddress1 = eshopSalesOrderHeader.dlvAddress1,
                    _DeliveryAddress2 = eshopSalesOrderHeader.dlvAddress2,
                    _DeliveryAddress3 = eshopSalesOrderHeader.dlvAddress3,
                    _DeliveryZipCode  = eshopSalesOrderHeader.dlvzipcode,
                    _PricesInclVat    = eshopSalesOrderHeader.PriceInclVat,
                    _EnteredVatAmount = eshopSalesOrderHeader.VatAmount,
                    _Lines            = int.TryParse(eshopSalesOrderHeader.Lines.ToString(), out int line) ? line : 0,
                    _DeliveryDate     = eshopSalesOrderHeader.DeliveryDate,


                    // eShopSalesNumber = eshopSalesOrderHeader?.eSalesNumber,
                    //eShopPaymentId = eshopSalesOrderHeader?.PaymentId,
                    //eShopShopId = eshopSalesOrderHeader?.ShopId
                };
            }
            catch (Exception e)
            {
                throw;
            }

            return(result);
        }
        public static ErrorCodes InsertSalesOrderLines(DebtorOrderClientModel Order = null, params EshopSalesOrderLines[] eshopSalesOrderLines)
        {
            var result = ErrorCodes.NoSucces;

            try
            {
                DebtorOrderLineClientModel debtorOrderLineClientModel = null;
                foreach (var eshopSalesOrderLine in eshopSalesOrderLines)
                {
                    debtorOrderLineClientModel = MapToDebtorOrderLineClientModel(eshopSalesOrderLine);
                    if (debtorOrderLineClientModel?.MasterIsSet() == false)
                    {
                        debtorOrderLineClientModel?.SetMaster(Order);
                    }
                    result = Core.CAPI.Insert(debtorOrderLineClientModel).Result;
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(result);
        }