public void UpdateModels(String xmlAjaxData, string editlang) { var rtnstatuscode = ""; var modelList = NBrightBuyUtils.GetGenXmlListByAjax(xmlAjaxData, "", editlang); var basefields = ""; // build xml for data records var strXml = "<genxml><interfaces>"; foreach (var modelInfo in modelList) { // build list of xpath fields that need processing. var filedList = NBrightBuyUtils.GetAllFieldxPaths(modelInfo); foreach (var xpath in filedList) { basefields += xpath + ","; } var objInfo = new NBrightInfo(true); var fields = basefields.Split(','); foreach (var f in fields.Where(f => f != "")) { var datatype = modelInfo.GetXmlProperty(f + "/@datatype"); if (datatype == "date") { objInfo.SetXmlProperty(f, modelInfo.GetXmlProperty(f), TypeCode.DateTime); } else if (datatype == "double") { objInfo.SetXmlPropertyDouble(f, modelInfo.GetXmlProperty(f)); } else if (datatype == "html") { objInfo.SetXmlProperty(f, modelInfo.GetXmlPropertyRaw(f)); } else { objInfo.SetXmlProperty(f, modelInfo.GetXmlProperty(f)); } } strXml += objInfo.XMLData; } strXml += "</interfaces></genxml>"; // replace models xml Info().ReplaceXmlNode(strXml, "genxml/interfaces", "genxml"); }
public void Update(NBrightInfo info) { // build list of xpath fields that need processing. var updatefields = new List <String>(); var fieldList = NBrightBuyUtils.GetAllFieldxPaths(info); foreach (var xpath in fieldList) { if (info.GetXmlProperty(xpath + "/@update") == "lang") { updatefields.Add(xpath); } } foreach (var f in updatefields) { if (f.EndsWith("/message")) { // special processing for editor, to place code in standard place. if (DataLangRecord.XMLDoc.SelectSingleNode("genxml/edt") == null) { DataLangRecord.AddSingleNode("edt", "", "genxml"); } if (info.GetXmlProperty("genxml/textbox/message") == "") { DataLangRecord.SetXmlProperty("genxml/edt/message", info.GetXmlPropertyRaw("genxml/edt/message")); } else { DataLangRecord.SetXmlProperty("genxml/edt/message", info.GetXmlPropertyRaw("genxml/textbox/message")); // ajax on ckeditor (Ajax diesn't work for telrik) } } else { DataLangRecord.RemoveXmlNode(f); var xpathDest = f.Split('/'); if (xpathDest.Count() >= 2) { DataLangRecord.AddXmlNode(info.XMLData, f, xpathDest[0] + "/" + xpathDest[1]); } } var datatype = info.GetXmlProperty(f + "/@datatype"); if (datatype == "date") { DataLangRecord.SetXmlProperty(f, info.GetXmlProperty(f), TypeCode.DateTime); } else if (datatype == "double") { DataLangRecord.SetXmlPropertyDouble(f, info.GetXmlProperty(f)); } else if (datatype == "html") { DataLangRecord.SetXmlProperty(f, info.GetXmlPropertyRaw(f)); } else { DataLangRecord.SetXmlProperty(f, info.GetXmlProperty(f).Trim()); } DataRecord.RemoveXmlNode(f); } updatefields = new List <String>(); fieldList = NBrightBuyUtils.GetAllFieldxPaths(info); foreach (var xpath in fieldList) { var id = xpath.Split('/').Last(); if (info.GetXmlProperty(xpath + "/@update") == "save") { updatefields.Add(xpath); } } foreach (var f in updatefields) { var datatype = info.GetXmlProperty(f + "/@datatype"); if (datatype == "date") { DataRecord.SetXmlProperty(f, info.GetXmlProperty(f), TypeCode.DateTime); } else if (datatype == "double") { DataRecord.SetXmlPropertyDouble(f, info.GetXmlProperty(f)); } else if (datatype == "html") { DataRecord.SetXmlProperty(f, info.GetXmlPropertyRaw(f)); } else { DataRecord.SetXmlProperty(f, info.GetXmlProperty(f)); } // if we have a image field then we need to create the imageurl field if (info.GetXmlProperty(f.Replace("textbox/", "hidden/hidinfo")) == "Img=True") { DataRecord.SetXmlProperty(f.Replace("textbox/", "hidden/") + "url", StoreSettings.Current.FolderImages + "/" + info.GetXmlProperty(f.Replace("textbox/", "hidden/hid"))); DataRecord.SetXmlProperty(f.Replace("textbox/", "hidden/") + "path", StoreSettings.Current.FolderImagesMapPath + "\\" + info.GetXmlProperty(f.Replace("textbox/", "hidden/hid"))); } if (f == "genxml/dropdownlist/ddlparentcatid") { var parentitemid = info.GetXmlProperty(f); if (!Utils.IsNumeric(parentitemid)) { parentitemid = "0"; } if (DataRecord.ParentItemId != Convert.ToInt32(parentitemid)) { _oldcatcascadeid = DataRecord.ParentItemId; _doCascadeIndex = true; DataRecord.ParentItemId = Convert.ToInt32(parentitemid); } } DataLangRecord.RemoveXmlNode(f); } }