public CreateAutoOrderRequest(Common.Api.ExigoOData.AutoOrder autoOrder)
        {
            var model = new CreateAutoOrderRequest();

            if (autoOrder == null)
            {
                return;
            }

            CustomerID                 = autoOrder.CustomerID;
            ExistingAutoOrderID        = autoOrder.AutoOrderID;
            OverwriteExistingAutoOrder = true;

            Frequency    = Exigo.GetFrequencyType(autoOrder.FrequencyTypeID);
            StartDate    = autoOrder.StartDate;
            StopDate     = autoOrder.StopDate;
            CurrencyCode = autoOrder.CurrencyCode;
            WarehouseID  = autoOrder.WarehouseID;
            ShipMethodID = autoOrder.ShipMethodID;
            PriceType    = PriceTypes.Wholesale;
            PaymentType  = Exigo.GetAutoOrderPaymentType(autoOrder.AutoOrderPaymentTypeID);
            ProcessType  = Exigo.GetAutoOrderProcessType(autoOrder.AutoOrderProcessTypeID);
            Details      = autoOrder.Details.Select(c => new OrderDetailRequest()
            {
                ItemCode                         = c.ItemCode,
                Quantity                         = c.Quantity,
                ParentItemCode                   = c.ParentItemCode,
                BusinessVolumeEachOverride       = c.BusinessVolumeEachOverride,
                CommissionableVolumeEachOverride = c.CommissionableVolumeEachOverride,
                DescriptionOverride              = c.ItemDescription,
                PriceEachOverride                = c.PriceEachOverride,
                ShippingPriceEachOverride        = c.ShippingPriceEachOverride,
                TaxableEachOverride              = c.TaxableEachOverride
            }).ToArray();

            FirstName = autoOrder.FirstName;
            LastName  = autoOrder.LastName;
            Company   = autoOrder.Company;
            Address1  = autoOrder.Address1;
            Address2  = autoOrder.Address2;
            City      = autoOrder.City;
            State     = autoOrder.State;
            Zip       = autoOrder.Zip;
            Country   = autoOrder.Country;
            Email     = autoOrder.Email;
            Phone     = autoOrder.Phone;

            Notes       = autoOrder.Notes;
            Other11     = autoOrder.Other11;
            Other12     = autoOrder.Other12;
            Other13     = autoOrder.Other13;
            Other14     = autoOrder.Other14;
            Other15     = autoOrder.Other15;
            Other16     = autoOrder.Other16;
            Other17     = autoOrder.Other17;
            Other18     = autoOrder.Other18;
            Other19     = autoOrder.Other19;
            Other20     = autoOrder.Other20;
            Description = autoOrder.AutoOrderDescription;
        }
Beispiel #2
0
        private static CreateAutoOrderRequest GetCreateOverridenAutoOrderRequest(int customerID, int autoOrderID)
        {
            // Get the autoorder
            //var context = Exigo.OData();
            //var autoOrder = context.AutoOrders.Expand("Details")
            //    .Where(c => c.CustomerID == customerID)
            //    .Where(c => c.AutoOrderID == autoOrderID)
            //    .FirstOrDefault();
            var autoOrder = new AutoOrderOdata();

            using (var Context = Exigo.Sql())
            {
                string SPGetCustomerAutoOrders = string.Format("GetCustomerAutoOrders {0},{1}", customerID, autoOrderID);
                autoOrder = Context.Query <AutoOrderOdata>(SPGetCustomerAutoOrders).FirstOrDefault();
                string SPGetCustomerAutoOrderDetail = string.Format("GetCustomerAutoOrderDetail {0}", autoOrderID.ToString());
                var    detailsList = Context.Query <AutoOrderDetailOdata>(SPGetCustomerAutoOrderDetail).ToList();
                detailsList.ForEach(i => autoOrder.Details.Add(i));
            }

            // Re-create the autoorder
            return(new CreateAutoOrderRequest(autoOrder));
        }