Пример #1
0
        public static FlexOrder.OrderHeader ToFlexOrder(this OrderHeader order)
        {
            #region User Defined Fields

            var fields = new FlexOrder.UserDefinedFields {
                Fields = new List <FlexOrder.UserDefinedField>()
            };

            //OrderDate
            if (!string.IsNullOrWhiteSpace(order.OrderDate))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OrderDate", Value = order.OrderDate
                });
            }

            //OrderBy
            if (!string.IsNullOrWhiteSpace(order.OrderBy))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OrderBy", Value = order.OrderBy
                });
            }

            //Comments
            if (!string.IsNullOrWhiteSpace(order.Comments))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "Comments", Value = order.Comments
                });
            }

            //ShipComp
            if (!string.IsNullOrWhiteSpace(order.ShipComp))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "ShipComp", Value = order.ShipComp
                });
            }

            //POBPoint
            if (!string.IsNullOrWhiteSpace(order.POBPoint))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "POBPoint", Value = order.POBPoint
                });
            }

            //TermsCode
            if (!string.IsNullOrWhiteSpace(order.TermsCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "TermsCode", Value = order.TermsCode
                });
            }

            //PickDate
            if (!string.IsNullOrWhiteSpace(order.PickDate))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "PickDate", Value = order.PickDate
                });
            }

            //ExtraChargeCode
            if (!string.IsNullOrWhiteSpace(order.ExtraChargeCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "ExtraChargeCode", Value = order.ExtraChargeCode
                });
            }

            //ExtraChargeAccount
            if (!string.IsNullOrWhiteSpace(order.ExtraChargeAccount))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "ExtraChargeAccount", Value = order.ExtraChargeAccount
                });
            }

            //TaxCode
            if (!string.IsNullOrWhiteSpace(order.TaxCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "TaxCode", Value = order.TaxCode
                });
            }

            //SalesRepCode
            if (!string.IsNullOrWhiteSpace(order.SalesRepCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "SalesRepCode", Value = order.SalesRepCode
                });
            }

            //OrderType
            if (!string.IsNullOrWhiteSpace(order.OrderType))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OrderType", Value = order.OrderType
                });
            }

            //OrderClass
            if (!string.IsNullOrWhiteSpace(order.OrderClass))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OrderClass", Value = order.OrderClass
                });
            }

            //SalesRepCommission
            if (!string.IsNullOrWhiteSpace(order.SalesRepCommission))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "SalesRepCommission", Value = order.SalesRepCommission
                });
            }

            //CommissionCode
            if (!string.IsNullOrWhiteSpace(order.CommissionCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "CommissionCode", Value = order.CommissionCode
                });
            }

            //PickPriorityCode
            if (!string.IsNullOrWhiteSpace(order.PickPriorityCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "PickPriorityCode", Value = order.PickPriorityCode
                });
            }

            //DueDate
            if (!string.IsNullOrWhiteSpace(order.DueDate))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "DueDate", Value = order.DueDate
                });
            }

            //DivisionCode
            if (!string.IsNullOrWhiteSpace(order.DivisionCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "DivisionCode", Value = order.DivisionCode
                });
            }

            //UnknownFeild01
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild01))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild01", Value = order.UnknownFeild01
                });
            }

            //UnknownFeild02
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild02))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild02", Value = order.UnknownFeild02
                });
            }

            //UnknownFeild03
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild03))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild03", Value = order.UnknownFeild03
                });
            }

            //UnknownFeild04
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild04))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild04", Value = order.UnknownFeild04
                });
            }

            //UnknownFeild05
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild05))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild05", Value = order.UnknownFeild05
                });
            }

            //UnknownFeild06
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild06))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild06", Value = order.UnknownFeild06
                });
            }

            //UnknownFeild07
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild07))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild07", Value = order.UnknownFeild07
                });
            }

            //UnknownFeild08
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild08))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild08", Value = order.UnknownFeild08
                });
            }

            //UnknownFeild09
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild09))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild09", Value = order.UnknownFeild09
                });
            }

            //UnknownFeild10
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild10))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild10", Value = order.UnknownFeild10
                });
            }

            //UnknownFeild11
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild11))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild11", Value = order.UnknownFeild11
                });
            }

            //UnknownFeild12
            if (!string.IsNullOrWhiteSpace(order.UnknownFeild12))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "UnknownFeild12", Value = order.UnknownFeild12
                });
            }

            //BookFacCode
            if (!string.IsNullOrWhiteSpace(order.BookFacCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "BookFacCode", Value = order.BookFacCode
                });
            }

            //DirShipFlag
            if (!string.IsNullOrWhiteSpace(order.DirShipFlag))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "DirShipFlag", Value = order.DirShipFlag
                });
            }

            //ShipToCode
            if (!string.IsNullOrWhiteSpace(order.ShipToCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "ShipToCode", Value = order.ShipToCode
                });
            }

            #endregion

            var result = new FlexOrder.OrderHeader
            {
                CustomerNumber    = order.CustomerNumber,
                PremiseID         = order.PremiseId,
                PO                = order.PO,
                Comments          = order.Comments,
                ShipToName        = order.ShipToName,
                ShipToAddress1    = order.ShipToAddress1,
                ShipToAddress2    = order.ShipToAddress2,
                ShipToCity        = order.ShipToCity,
                ShipToState       = order.ShipToState,
                ShipToPostalCode  = order.ShipToZipCode,
                ShipToCountry     = order.ShipToCountry,
                IsRush            = (order.RushOrder.Equals("true") || order.RushOrder.Equals("1")),
                ShipMethod        = order.ShipVia,
                UserDefinedFields = fields,
                OrderLineHeaders  = order.OrderLineHeaders.Select(v => v.ToFlexOrder()).ToList(),
            };

            return(result);
        }
Пример #2
0
        public static FlexOrder.OrderLineHeader ToFlexOrder(this OrderLineHeader line)
        {
            if (line.OrderLineTemplateDetails.Any(s => s.SKU != line.SKU))
            {
                throw new Exception(
                          "Invalid file. Some order line details do not match the sku for the main order header record.");
            }

            // we currently do not support formulas or ranges.
            if (line.OrderLineTemplateDetails.Any() && line.Quantity != line.OrderLineTemplateDetails.Count)
            {
                throw new Exception("Order line details do not match order quantity.");
            }

            #region User Defined Fields

            var fields = new FlexOrder.UserDefinedFields {
                Fields = new List <FlexOrder.UserDefinedField>()
            };

            if (!string.IsNullOrWhiteSpace(line.RequiredDeliveryDate))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "RequiredDeliveryDate", Value = line.RequiredDeliveryDate
                });
            }

            if (!string.IsNullOrWhiteSpace(line.SellingPrice))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "SellingPrice", Value = line.SellingPrice
                });
            }

            if (!string.IsNullOrWhiteSpace(line.SODShipComp))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "SODShipComp", Value = line.SODShipComp
                });
            }

            if (!string.IsNullOrWhiteSpace(line.CatalogCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "CatalogCode", Value = line.CatalogCode
                });
            }

            if (!string.IsNullOrWhiteSpace(line.DeliveryRemarks))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "DeliveryRemarks", Value = line.DeliveryRemarks
                });
            }

            if (!string.IsNullOrWhiteSpace(line.TaxFlag))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "TaxFlag", Value = line.TaxFlag
                });
            }

            if (!string.IsNullOrWhiteSpace(line.SkipAllocationFlag))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "SkipAllocationFlag", Value = line.SkipAllocationFlag
                });
            }

            if (!string.IsNullOrWhiteSpace(line.ListPrice))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "ListPrice", Value = line.ListPrice
                });
            }

            if (!string.IsNullOrWhiteSpace(line.SODCommissionFlag))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "SODCommissionFlag", Value = line.SODCommissionFlag
                });
            }

            if (!string.IsNullOrWhiteSpace(line.SODCommissionCode))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "SODCommissionCode", Value = line.SODCommissionCode
                });
            }

            if (!string.IsNullOrWhiteSpace(line.ItemsTerms))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "ItemsTerms", Value = line.ItemsTerms
                });
            }

            if (!string.IsNullOrWhiteSpace(line.MgtNumber))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "MgtNumber", Value = line.MgtNumber
                });
            }

            if (!string.IsNullOrWhiteSpace(line.OptionOne))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OptionOne", Value = line.OptionOne
                });
            }

            if (!string.IsNullOrWhiteSpace(line.OptionTwo))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OptionTwo", Value = line.OptionTwo
                });
            }

            if (!string.IsNullOrWhiteSpace(line.OptionThree))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OptionThree", Value = line.OptionThree
                });
            }

            if (!string.IsNullOrWhiteSpace(line.OptionFour))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OptionFour", Value = line.OptionFour
                });
            }

            if (!string.IsNullOrWhiteSpace(line.OptionFive))
            {
                fields.Fields.Add(new FlexOrder.UserDefinedField {
                    Key = "OptionFive", Value = line.OptionFive
                });
            }

            #endregion

            var result = new FlexOrder.OrderLineHeader
            {
                SkuName  = line.SKU,
                Quantity = line.Quantity,
                OrderLineMarkingDetail = line.OrderLineTemplateDetails.Select(d => d.ToFlexOrder()).ToList(),
                UserDefinedFields      = fields,
            };

            return(result);
        }