public void Visit(ParamAssign param) { if (!string.IsNullOrWhiteSpace(param.Comment)) { _xml.WriteComment(param.Comment); } _xml.WriteStartElement("Param"); if (!string.IsNullOrWhiteSpace(param.Name)) { _xml.WriteAttributeString("name", param.Name); } if (!string.IsNullOrWhiteSpace(param.Select)) { _xml.WriteAttributeString("select", param.Select); } if (string.IsNullOrEmpty(param.Value)) { if (!string.IsNullOrEmpty(param.ActualValue)) { _xml.WriteComment(param.ActualValue); } } else { WriteFormatted(param.Value, param.IsXml, _xml); } _xml.WriteEndElement(); }
private static ICommand ReadCommand(XmlReader reader, string comment, string sessionId) { switch (reader.LocalName) { case "Login": var login = new Login() { Comment = comment, Database = reader.GetAttribute("database"), Url = reader.GetAttribute("url"), UserName = reader.GetAttribute("username"), } .SetType(reader.GetAttribute("type")) .SetPassword(reader.GetAttribute("password"), sessionId); reader.Read(); return(login); case "Logout": var logout = new Logout() { Comment = comment }; reader.Read(); return(logout); case "Delay": var delay = new Delay() { BySeconds = reader.GetAttribute("by"), From = reader.GetAttribute("from"), Comment = comment }; reader.Read(); return(delay); case "sql": case "SQL": case "Item": case "AML": case "GetNextSequence": return(new Query() { Comment = comment, Text = reader.ReadOuterXml() }); case "Param": bool isXml; var result = new ParamAssign() { Comment = comment, Name = reader.GetAttribute("name"), Select = reader.GetAttribute("select"), Value = ProcessXmlValue(reader.ReadInnerXml(), out isXml) }; result.IsXml = isXml; return(result); } return(null); }