public void PersistVariables() { Dictionary <string, object> variableValueList = context.VariableValueList; Epi.Collections.NamedObjectCollection <Epi.IVariable> scopeVariables = ((Epi.MemoryRegion)(context.MemoryRegion)).GetVariablesInScope(); if (variableValueList.Count > 0 || scopeVariables.Count > 0) { writer = new XmlTextWriter(GetStream(), null); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(); writer.WriteStartElement("Variables"); try { foreach (Epi.IVariable var in scopeVariables) { if (var != null) { Epi.IVariable unboxed = (Epi.IVariable)var; writer.WriteStartElement("Variable"); writer.WriteAttributeString("Name", unboxed.Name); writer.WriteAttributeString("VarType", unboxed.VarType.ToString()); writer.WriteAttributeString("DataType", unboxed.DataType.ToString()); if (unboxed.VarType != VariableType.DataSource) { writer.WriteAttributeString("Value", unboxed.Expression); } writer.WriteEndElement(); } } foreach (KeyValuePair <string, object> kvp in variableValueList) { if (kvp.Key != null) { writer.WriteStartElement("Variable"); writer.WriteAttributeString("Name", kvp.Key); writer.WriteAttributeString("Value", kvp.Value.ToString()); writer.WriteEndElement(); } } writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); writer.Close(); } finally { if (writer != null) { writer.Close(); } } } }
public bool TryGetVariable(string p, out EpiInfo.Plugin.IVariable var) { bool result = false; var = null; Epi.IVariable V = null; result = this.mContext.MemoryRegion.TryGetVariable(p, out V); var = (EpiInfo.Plugin.IVariable)V; return(result); }