Пример #1
0
    protected void Button2_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            List<goodtooDraft.Products.xmldataProducts> tempProductList = new List<goodtooDraft.Products.xmldataProducts>();
            goodtooDraft.Products.xmldata listOfProducts = new goodtooDraft.Products.xmldata();

            foreach (KeyValuePair<string, CheckBox> cursor in productsDic)
            {                              
                if (cursor.Value.Checked)
                {
                    goodtooDraft.Products.xmldataProducts product = productsArray[cursor.Key];
                    tempProductList.Add(product);
                }
            }
            listOfProducts.Items = tempProductList.ToArray();

            List<goodtooDraft.Products.xmldataProducts> importList = new List<goodtooDraft.Products.xmldataProducts>();

            //If List Is null, the Event has no products to import, so redirect the to the EditFunds.aspx page to add Products...
            if (listOfProducts != null)
            {
                foreach (goodtooDraft.Products.xmldataProducts product in listOfProducts.Items)
                {
                    //Make a copy of the current product
                    goodtooDraft.Products.xmldataProducts copiedProduct = goodtooDraft.App_Code.Utils.makeProductCopy(product, EventId.ToString());

                    if (copiedProduct.DoNotAllowBackOrders == null)
                    {
                        XmlNode[] node = new XmlNode[1];
                        XmlDocument doc = new XmlDocument();
                        copiedProduct.DoNotAllowBackOrders = node;
                        ((XmlNode[])(copiedProduct.CustomField2))[0] = doc.CreateNode(XmlNodeType.Text, null, null);
                    }
                    ((XmlNode[])(copiedProduct.DoNotAllowBackOrders))[0].InnerText = "Y";
                    importList.Add(copiedProduct);
                }
                listOfProducts.Items = importList.ToArray<goodtooDraft.Products.xmldataProducts>();
                goodtooDraft.App_Code.Utils.importProducts(listOfProducts);

                Response.Redirect("EULAConfirmation.aspx?id=" + EventId, false);
            }            
        }
    }
Пример #2
0
    private void importProducts(goodtooDraft.Products.xmldata listOfProducts, string eventID)
    {
        int i = 0;
        goodtooDraft.Products.xmldata Products = new goodtooDraft.Products.xmldata();
        Products.Items = new goodtooDraft.Products.xmldataProducts[listOfProducts.Items.Count()];
        //Foreach product in listOfProducts.Items...
        foreach (goodtooDraft.Products.xmldataProducts product in listOfProducts.Items)
        {//check for donotallowbackordervalues

            //if product does not contain the eventID, append it...(using ")
            if (!((XmlNode[])(product.ProductCode))[0].InnerText.ToString().Contains("*" + eventID))
                ((XmlNode[])(product.ProductCode))[0].InnerText = (((XmlNode[])(product.ProductCode))[0].InnerText).ToString() + "*" + eventID;

            //add eventID to CustomField2
            if (product.CustomField2 == null)
            {
                XmlNode[] node = new XmlNode[1];
                XmlDocument doc = new XmlDocument();
                product.CustomField2 = node;
                ((XmlNode[])(product.CustomField2))[0] = doc.CreateNode(XmlNodeType.Text, null, null);
                ((XmlNode[])(product.CustomField2))[0].InnerText = eventID.ToString();
            }
            else
            {
                ((XmlNode[])(product.CustomField2))[0].InnerText = eventID.ToString();

            }
            Products.Items[i] = product;
            i++;
        }
        if (Products.Items.Count() > 0)
        {
            MemoryStream ms = new MemoryStream();

            XmlWriterSettings settings = new XmlWriterSettings();
            settings.ConformanceLevel = ConformanceLevel.Auto;
            XmlWriter writer = XmlWriter.Create(ms, settings);

            XmlSerializer serializer = new XmlSerializer(typeof(goodtooDraft.Products.xmldata));
            serializer.Serialize(writer, Products);
            ms.Seek(0, 0);
            StreamReader sr = new StreamReader(ms);

            //Importing to Volusion Database
            goodtooDraft.App_Code.XMLPostManager postManager = new goodtooDraft.App_Code.XMLPostManager();

            string importURL = goodtooDraft.App_Code.Utils.GetAPIPostURL(goodtooDraft.App_Code.ImportMode.InsertUpdate); //change from Insert to Insert/Update

            postManager.SendXMLToURL(importURL, sr.ReadToEnd());
        }
    }
Пример #3
0
    protected void Button2_Click(object sender, EventArgs e)
    {

        if (Page.IsValid)
        {
            List<goodtooDraft.Products.xmldataProducts> tempProductList = new List<goodtooDraft.Products.xmldataProducts>();

            goodtooDraft.Products.xmldata listOfProducts = new goodtooDraft.Products.xmldata();

            //goodtooDraft.Products.xmldata clear = Utils.GetProductSearchResults(GoodTwoConstants.productFundField, "46750");
            //foreach (goodtooDraft.Products.xmldataProducts product in clear.Items)
            //{
                //if (product.DoNotAllowBackOrders == null)
                //{
                //    XmlNode[] node = new XmlNode[1];
                //    XmlDocument doc = new XmlDocument();
                //    product.DoNotAllowBackOrders = node;
                //    ((XmlNode[])(product.CustomField2))[0] = doc.CreateNode(XmlNodeType.Text, null, null);
                //}
                //if (product.DoNotAllowBackOrders != null)
                //    ((XmlNode[])(product.DoNotAllowBackOrders))[0].InnerText = "N";
                //{
                //    XmlNode[] node = new XmlNode[1];
                //    XmlDocument doc = new XmlDocument();
                //    product.CustomField4 = node;
                //    ((XmlNode[])(product.CustomField4))[0] = doc.CreateNode(XmlNodeType.Text, null, null);
                //}
                //if (product.CustomField4 != null)
                //    ((XmlNode[])(product.CustomField4))[0].InnerText = "0";
                //if (product.CustomField2 == null)
                //{
                //    XmlNode[] node = new XmlNode[1];
                //    XmlDocument doc = new XmlDocument();
                //    product.CustomField2 = node;
                //    ((XmlNode[])(product.CustomField2))[0] = doc.CreateNode(XmlNodeType.Text, null, null);
                //}
                //if (product.CustomField2 != null)
                //    ((XmlNode[])(product.CustomField2))[0].InnerText = "0";
                
            //    if (((XmlNode[])(product.ProductCode))[0].InnerText.ToString().Contains("*46750"))
            //    {
            //        if (product.CustomField4 != null)
            //        {
            //            try
            //            {
            //                ((XmlNode[])(product.CustomField4))[0].InnerText = "";
            //            }
            //            catch 
            //            {
            //                XmlNode[] node = new XmlNode[1];
            //                XmlDocument doc = new XmlDocument();
            //                product.CustomField4 = node;
            //                ((XmlNode[])(product.CustomField4))[0] = doc.CreateNode(XmlNodeType.Text, null, null);

            //                ((XmlNode[])(product.CustomField4))[0].InnerText = "";
            //            }
            //        }
            //        if (((XmlNode[])(product.ProductCode))[0].InnerText.ToString().Contains("*46750*46750"))
            //        {
            //            if (product.CustomField2 != null)
            //                ((XmlNode[])(product.CustomField2))[0].InnerText = "";
            //        }
            //    }
            //    else
            //    {
            //        if (product.CustomField2 != null)
            //            ((XmlNode[])(product.CustomField2))[0].InnerText = "";
            //    }
            //}
            //importProducts(clear);

            foreach (KeyValuePair<string, CheckBox> cursor in productsDic)
            {
                //Make a copy of the current product
                goodtooDraft.Products.xmldataProducts copiedProduct = Utils.makeProductCopy(productsArray[cursor.Key], eventID.ToString());

                if (copiedProduct.DoNotAllowBackOrders == null)
                {
                    XmlNode[] node = new XmlNode[1];
                    XmlDocument doc = new XmlDocument();
                    copiedProduct.DoNotAllowBackOrders = node;
                    ((XmlNode[])(copiedProduct.CustomField2))[0] = doc.CreateNode(XmlNodeType.Text, null, null);
                }

                goodtooDraft.Products.xmldataProducts origProductCopy = null;
                ProductIdComparer comparer = new ProductIdComparer();
                foreach(goodtooDraft.Products.xmldataProducts product in selectedProductsList)
                {
                    if(comparer.Equals(copiedProduct, product))
                    {
                        origProductCopy = product;
                        break;
                    }
                }
                if (cursor.Value.Checked)
                {
                    //turning on...
                    if (origProductCopy == null)
                    {                        
                        ((XmlNode[])(copiedProduct.DoNotAllowBackOrders))[0].InnerText = "Y";
                        tempProductList.Add(copiedProduct);
                    }
                    else if (((XmlNode[])(origProductCopy.DoNotAllowBackOrders))[0].InnerText == "N")
                    {
                        ((XmlNode[])(origProductCopy.DoNotAllowBackOrders))[0].InnerText = "Y";
                        tempProductList.Add(origProductCopy);
                    }
                }
                else
                {
                    //turning off..
                    if ((origProductCopy != null) && (((XmlNode[])(origProductCopy.DoNotAllowBackOrders))[0].InnerText == "Y"))
                    {
                        ((XmlNode[])(origProductCopy.DoNotAllowBackOrders))[0].InnerText = "N";
                        tempProductList.Add(origProductCopy);
                    }
                }
            }
            foreach (goodtooDraft.Products.xmldataProducts selectedProduct in selectedProductsList)
            {
                // Turn off if it is not on page
                if (!productsArray.Values.Contains(selectedProduct, new ProductIdComparer()))
                {
                    if (((XmlNode[])(selectedProduct.DoNotAllowBackOrders))[0].InnerText == "Y")
                    {
                        ((XmlNode[])(selectedProduct.DoNotAllowBackOrders))[0].InnerText = "N";
                        tempProductList.Add(selectedProduct);
                    }
                }
            }
            listOfProducts.Items = tempProductList.ToArray();

            Utils.importProducts(listOfProducts);
            Response.Redirect("Fund.aspx?id=" + eventID);
        }
    }