Пример #1
0
 public QueryBuilder(CodeWizard codeWizard, QueryBuilderType type)
     : base(codeWizard)
 {
     this._type = type;
     base.WizardPanels.Add(new SelectDatabasePanel(base.ServiceProvider));
     if (type == QueryBuilderType.Select)
     {
         base.WizardPanels.Add(new BuildSelectPanel(base.ServiceProvider));
         base.WizardPanels.Add(new QueryPreviewPanel(base.ServiceProvider));
         base.WizardPanels.Add(new NameSelectMethodPanel(base.ServiceProvider));
         this.Text = "SELECT Data Code Wizard";
     }
     else if (type == QueryBuilderType.Delete)
     {
         base.WizardPanels.Add(new BuildDeletePanel(base.ServiceProvider));
         base.WizardPanels.Add(new QueryPreviewPanel(base.ServiceProvider));
         base.WizardPanels.Add(new NameNonQueryMethodPanel(base.ServiceProvider, "MyDeleteMethod"));
         this.Text = "DELETE Data Code Wizard";
     }
     else if (type == QueryBuilderType.Update)
     {
         base.WizardPanels.Add(new BuildUpdatePanel(base.ServiceProvider));
         base.WizardPanels.Add(new QueryPreviewPanel(base.ServiceProvider));
         base.WizardPanels.Add(new NameNonQueryMethodPanel(base.ServiceProvider, "MyUpdateMethod"));
         this.Text = "UPDATE Data Code Wizard";
     }
     else if (type == QueryBuilderType.Insert)
     {
         base.WizardPanels.Add(new BuildInsertPanel(base.ServiceProvider));
         base.WizardPanels.Add(new NameNonQueryMethodPanel(base.ServiceProvider, "MyInsertMethod"));
         this.Text = "INSERT Data Code Wizard";
     }
     base.Size = new Size(510, 0x198);
 }
Пример #2
0
 public QueryBuilder(QueryBuilderType Type)
 {
     this._type    = Type;
     this._tables  = new List <string> ();
     this._columns = new List <string> ();
     this._values  = new List <string> ();
     this._wheres  = new List <string> ();
     this._orderby = string.Empty;
 }
Пример #3
0
 public QueryBuilder(QueryBuilderType Type)
 {
     this._type = Type;
     this._tables = new List<string> ();
     this._columns = new List<string> ();
     this._values = new List<string> ();
     this._wheres = new List<string> ();
     this._orderby = string.Empty;
 }
Пример #4
0
        public static IMiniORM MiniORM(this DbConnection connection,
                                       MapperType mapperType           = MapperType.DEFAULT,
                                       QueryBuilderType qbType         = QueryBuilderType.DEFAULT,
                                       ORMProviderType ormProviderType = ORMProviderType.DEFAULT)
        {
            ORM orm = new ORM(connection, mapperType, qbType, ormProviderType);

            return(orm.Build());
        }
Пример #5
0
 public ORM(
     DbConnection dbConnection,
     MapperType mapperType           = MapperType.DEFAULT,
     QueryBuilderType qbType         = QueryBuilderType.DEFAULT,
     ORMProviderType ormProviderType = ORMProviderType.DEFAULT)
 {
     _dbConnection    = dbConnection;
     _mapperType      = mapperType;
     _qbType          = qbType;
     _ormProviderType = ormProviderType;
 }
Пример #6
0
        /// <summary>
        /// ej:
        /// string t = new FilterQueryBuilder().Select("1,2,3").Table("user").AddLike("nombre", "ju").AddEquals("id", "32").Build();
        /// </summary>
        public QueryBuilder(QueryBuilderType type)
        {
            switch (type)
            {
            case QueryBuilderType.SELECT:
                queryBase = "SELECT fields FROM table join filter";
                break;

            case QueryBuilderType.UPDATE:
                queryBase = "UPDATE table SET fields filter";
                break;

            case QueryBuilderType.DELETE:
                queryBase       = "DELETE FROM table filter";
                filterConnector = " OR ";
                break;

            case QueryBuilderType.INSERT:
                queryBase = "INSERT INTO table (fields) VALUES news";
                break;
            }
        }
Пример #7
0
 public QueryBuilder(QueryBuilderType queryType)
 {
     _type = queryType;
 }
Пример #8
0
 public static string Run(CodeWizard codeWizard, IServiceProvider serviceProvider, CodeDomProvider codeDomProvider, QueryBuilderType type)
 {
     IUIService service = (IUIService) serviceProvider.GetService(typeof(IUIService));
     IDatabaseManager manager = (IDatabaseManager) serviceProvider.GetService(typeof(IDatabaseManager));
     if (codeDomProvider != null)
     {
         ICodeGenerator generator = codeDomProvider.CreateGenerator();
         if (generator != null)
         {
             QueryBuilder form = new QueryBuilder(codeWizard, type);
             if (service.ShowDialog(form) == DialogResult.OK)
             {
                 StringWriter w = new StringWriter();
                 CodeGeneratorOptions o = new CodeGeneratorOptions();
                 CodeMemberMethod method = new CodeMemberMethod();
                 method.Name = form.MethodName;
                 IDictionary dictionary = new HybridDictionary(true);
                 foreach (QueryParameter parameter in form.Parameters)
                 {
                     string variableNameFromParameterName = GetVariableNameFromParameterName(parameter.Name);
                     if (dictionary[variableNameFromParameterName] == null)
                     {
                         System.Type typeFromDbType = QueryParameter.GetTypeFromDbType(parameter.Type);
                         method.Parameters.Add(new CodeParameterDeclarationExpression(typeFromDbType, variableNameFromParameterName));
                         dictionary[variableNameFromParameterName] = string.Empty;
                     }
                 }
                 method.ReturnType = new CodeTypeReference(form.ReturnType);
                 method.Attributes = MemberAttributes.Final;
                 method.Statements.AddRange(BuildConnection((IDataProviderDatabase) form.Database, ((IDataProviderDatabase) form.Database).ConnectionString));
                 method.Statements.Add(new CodeSnippetStatement(string.Empty));
                 method.Statements.Add(BuildQueryString(form.Query));
                 method.Statements.AddRange(BuildCommand((IDataProviderDatabase) form.Database));
                 method.Statements.Add(new CodeSnippetStatement(string.Empty));
                 int num = 0;
                 dictionary = new HybridDictionary(true);
                 foreach (QueryParameter parameter2 in form.Parameters)
                 {
                     string str2 = GetVariableNameFromParameterName(parameter2.Name);
                     if (dictionary[str2] == null)
                     {
                         method.Statements.AddRange(BuildDbParameterAssignment((IDataProviderDatabase) form.Database, parameter2.Name, parameter2.Type, codeDomProvider));
                         num++;
                         dictionary[str2] = string.Empty;
                     }
                 }
                 if (num > 0)
                 {
                     method.Statements.Add(new CodeSnippetStatement(string.Empty));
                 }
                 if (type == QueryBuilderType.Select)
                 {
                     if (form.ReturnType == typeof(IDataReader))
                     {
                         method.Statements.AddRange(BuildSelectReturnDataReader());
                     }
                     else
                     {
                         method.Statements.AddRange(BuildSelectReturnDataSet((IDataProviderDatabase) form.Database));
                     }
                 }
                 else
                 {
                     method.Statements.AddRange(BuildExecuteNonQuery());
                 }
                 CodeTypeDeclaration e = new CodeTypeDeclaration("TempType");
                 e.Members.Add(method);
                 generator.GenerateCodeFromType(e, w, o);
                 string s = w.ToString();
                 w = new StringWriter();
                 CodeTypeDeclaration declaration2 = new CodeTypeDeclaration("TempType");
                 generator.GenerateCodeFromType(declaration2, w, o);
                 string str4 = w.ToString();
                 w = new StringWriter();
                 StringReader reader = new StringReader(s);
                 StringReader reader2 = new StringReader(str4);
                 string str5 = reader.ReadLine();
                 string str6 = reader2.ReadLine();
                 while (str5 != null)
                 {
                     if (str5 != str6)
                     {
                         w.WriteLine(str5);
                     }
                     else
                     {
                         str6 = reader2.ReadLine();
                     }
                     str5 = reader.ReadLine();
                 }
                 return w.ToString();
             }
         }
     }
     return string.Empty;
 }