Exemplo n.º 1
0
 private DataCommandBase GetCommandInstance(string name, List <Type> commandTypes)
 {
     string[] aliasses = new string[0];
     foreach (Type t in commandTypes)
     {
         DataCommandAttribute att = DataCommandAttribute.GetAttribute(t);
         if (att != null)
         {
             if (att.Name.Equals(name, StringComparison.Ordinal))
             {
                 return((DataCommandBase)Activator.CreateInstance(t));
             }
             else
             {
                 aliasses = att.Aliasses.Split(new char[] { ',' });
                 foreach (string alias in aliasses)
                 {
                     if (alias.Trim().Equals(name, StringComparison.Ordinal))
                     {
                         return((DataCommandBase)Activator.CreateInstance(t));
                     }
                 }
             }
         }
     }
     return(new DataCommandBase());
 }
Exemplo n.º 2
0
        private static string getAvailableCommandNames(List <Type> commandTypes)
        {
            StringBuilder sb = new StringBuilder();

            foreach (Type t in commandTypes)
            {
                DataCommandAttribute att = DataCommandAttribute.GetAttribute(t);
                if (att != null)
                {
                    sb.Append(att.Name);
                    sb.Append(",");
                    sb.Append(att.Aliasses);
                    sb.Append(",");
                }
            }
            return(sb.ToString());
        }
Exemplo n.º 3
0
        private string BuildItemHelp(DataCommandAttribute at, StringBuilder sb)
        {
            string tmp = @"
<html>
    <head>
    <style type=""text/css"">
{0}
    </style>
    </head>

    <body>
<h1>{1}</h1>
<h2>{2}</h2>
<h3>Aliasses</h3>
{3}
<h3>Description</h3>
{4}
<h3>Example</h3>
{5}
<h3>Parameters</h3>
<ul>
{6}
</ul>
    </body>
</html>
";

            foreach (DataCommandParameterAttribute prm in at.Parameters)
            {
                sb.Append("<li>");
                sb.AppendFormat("{0} ", prm.Name);

                sb.AppendFormat("{0}", prm.IsParams == true ? "<i>params</i>" : "");
                if (!string.IsNullOrEmpty(prm.Description))
                {
                    sb.AppendFormat("<br/>{0}", prm.Description);
                }
                sb.Append("</li>");
            }

            return(string.Format(tmp, "", at.Name, at.ToString(), at.Aliasses.Replace("\r\n", "<br/>"), at.Description.Replace("\r\n", "<br/>"), at.Example.Replace("\r\n", "<br/>"), sb.ToString()));
        }
Exemplo n.º 4
0
        public void ListCommands(StringBuilder sb)
        {
            List <Type> methodtTypes            = Utils.GetObjectsWithBaseType(typeof(DataCommandBase), true);
            List <DataCommandAttribute> attribs = new List <DataCommandAttribute>();

            foreach (Type t in methodtTypes)
            {
                DataCommandAttribute att = DataCommandAttribute.GetAttribute(t);
                if (!string.IsNullOrEmpty(att.Name))
                {
                    attribs.Add(att);
                }
            }
            attribs = (from t in attribs
                       orderby t.Name ascending
                       select t).ToList();

            foreach (DataCommandAttribute att in attribs)
            {
                BuildItemHelp(att, sb);
            }
        }