/// <summary>
        /// For deleting Eshop SalesOrder Header
        /// </summary>
        /// <param name="eshopSalesOrderHeader"></param>
        /// <returns></returns>
        public static ErrorCodes UpdatetEshopSalesOrderHeader(EshopSalesOrderHeader eshopSalesOrderHeader)
        {
            var result = ErrorCodes.NoSucces;

            try
            {
                result = Core.CAPI.Update(eshopSalesOrderHeader).Result;
            }
            catch (Exception e)
            {
                throw;
            }

            return(result);
        }
        public static EshopSalesOrderHeader GetEshopSalesOrderHeader(string esalesOrderId)
        {
            EshopSalesOrderHeader result = null;

            try
            {
                result = Core.QAPI.Query <EshopSalesOrderHeader>(Utils.CRIT.Add("eSalesNumber", esalesOrderId).ValuePairs).Result.First();
            }
            catch (Exception e)
            {
                //TODO logging
                throw new SalesOrderHeaderException($"Error occured while getting eshop sales order header for eSalesNumber: {esalesOrderId}", e);
            }

            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 InsertEshopSalesOrderLines(EshopSalesOrderHeader eshopSalesOrderHeader = null, params EshopSalesOrderLines[] eshopSalesOrderLines)
        {
            var result = ErrorCodes.NoSucces;

            try
            {
                foreach (var eshopSalesOrderLine in eshopSalesOrderLines)
                {
                    //if (eshopSalesOrderLine?.MasterIsSet() == false)
                    //{
                    eshopSalesOrderLine?.SetMaster(eshopSalesOrderHeader);
                    // }
                    result = Core.CAPI.Insert(eshopSalesOrderLine).Result;
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(result);
        }