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); } } }
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()); } }
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); } }