private static XmlReader ReplaceAssemblyName(string info) { List <Tuple <string, string> > expr_05 = new List <Tuple <string, string> >(); expr_05.Add(new Tuple <string, string>("GenericValue", "System")); expr_05.Add(new Tuple <string, string>("Image", "UiAutomation")); XElement xElement = XElement.Parse(info); using (List <Tuple <string, string> > .Enumerator enumerator = expr_05.GetEnumerator()) { while (enumerator.MoveNext()) { Tuple <string, string> tuple = enumerator.Current; using (IEnumerator <XElement> enumerator2 = (from el in xElement.Descendants(BuildDataTable._xsNamespace + "element") where BuildDataTable.CheckReplaceCondition(el, tuple.Item1) select el).GetEnumerator()) { while (enumerator2.MoveNext()) { BuildDataTable.Replace(enumerator2.Current, tuple.Item2); } } } } return(xElement.CreateReader()); }
protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state) { DataTable dataTable = new DataTable(); BuildDataTable.ReadDataTableFromXML(this.TableInfo, dataTable); this.DataTable.Set(context, dataTable); m_Delegate = new runDelegate(Run); return(m_Delegate.BeginInvoke(callback, state)); }
public static void ReadDataTableFromXML(string text, DataTable dt) { try { using (StringReader stringReader = new StringReader(text)) { dt.ReadXml(stringReader); } } catch (ArgumentException) { using (XmlReader xmlReader = BuildDataTable.ReplaceAssemblyName(text)) { dt.ReadXml(xmlReader); } } }
private void DataTableBuild(object sender, System.Windows.RoutedEventArgs e) { string text = base.ModelItem.Properties["TableInfo"].ComputedValue as string; DataTable dataTable = new DataTable(); try { BuildDataTable.ReadDataTableFromXML(text, dataTable); } catch (Exception ex) { throw new Exception("DataTableBuild Exception", ex); } BuildDataTableDialog buildDataTableDialog = new BuildDataTableDialog(dataTable, base.ModelItem); buildDataTableDialog.ShowDialog(); if (buildDataTableDialog.SaveTable) { base.ModelItem.Properties["TableInfo"].SetValue(buildDataTableDialog.DataTableXmlSchema); } }