public SelectQueryBuilder LoadSelectQueryBuilder() //made public zahed { SelectQueryBuilder query = new SelectQueryBuilder(); bool isSelecteTabColumnsOrGroupbyColumns = false; if (this.SelectTabUC.lstSelectedCol.ItemsSource != null) { //****Geting select columns***** //List<SQLBuilder.Clauses.Column> ListOfSelectColumn = ((List<SQLBuilder.Clauses.Column>)this.SelectTabUC.lstSelectedCol.ItemsSource); ObservableCollection<SQLBuilder.Clauses.Column> ListOfSelectColumn = ((ObservableCollection<SQLBuilder.Clauses.Column>)this.SelectTabUC.lstSelectedCol.ItemsSource); foreach (SQLBuilder.Clauses.Column Col in ListOfSelectColumn) { SQLBuilder.Clauses.Column column = new SQLBuilder.Clauses.Column(); column.Name = Col.Name; column.AliasName = Col.AliasName; column.Format = Col.Format; query.SelectColumn(column); } isSelecteTabColumnsOrGroupbyColumns = true; } if (this.TabulationTabUC.isTabulation) { //group by column for (int i = 0; i < this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Count; i++) { TabulationTabStackPanelGroupByControl tg = (TabulationTabStackPanelGroupByControl)this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children[i]; if (tg.cmbTabulationTabGroupByColumnsName.SelectedIndex != -1) { SQLBuilder.Clauses.Column column = new SQLBuilder.Clauses.Column(); //modified on 11/18/11 column.Name = tg.cmbTabulationTabGroupByColumnsName.Text; column.Format = tg.txtTabulationTabGroupByColFormat.Text; column.AliasName = tg.txtTabulationTabGroupByAlias.Text; //query.SelectColumn(column); query.AddGroupBy(column); if (tg.cmbTabulationSort.SelectedIndex != -1) { query.AddOrderBy(tg.cmbTabulationTabGroupByColumnsName.Text, GetSortingEnum(tg.cmbTabulationSort.Text)); } } } //summarize column for (int i = 0; i < this.TabulationTabUC.StackPanelTabuLationTabSummary.Children.Count; i++) { TabulationTabStackPanelSummaryControl ts = (TabulationTabStackPanelSummaryControl)this.TabulationTabUC.StackPanelTabuLationTabSummary.Children[i]; if (ts.cmbTabulationTabSummaryColumnsName.SelectedIndex != -1) { SQLBuilder.Clauses.Column column = new SQLBuilder.Clauses.Column(); column.Name = ts.cmbTabulationTypeOfSummary.Text + "(" + ts.cmbTabulationTabSummaryColumnsName.Text + ")"; column.Format = ts.txtTabulationTabSummaryColFormat.Text; column.AliasName = ts.txtTabulationTabSummaryAlias.Text; query.AddSummarize(column); } } isSelecteTabColumnsOrGroupbyColumns = true; } else if (this.CrossTabulationTabUC.isCrossTabulation) { //group by column for (int i = 0; i < this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Count; i++) { CrossTabulationTabStackPanelGroupByControl ctg = (CrossTabulationTabStackPanelGroupByControl)this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children[i]; if (ctg.cmbCrossTabulationTabGroupByColumnsName.SelectedIndex != -1) { SQLBuilder.Clauses.Column column = new SQLBuilder.Clauses.Column(); column.Name = ctg.cmbCrossTabulationTabGroupByColumnsName.Text; column.Format = ctg.txtCrossTabulationTabGroupByColFormat.Text; column.AliasName = ctg.txtCrossTabulationTabGroupByAlias.Text; query.AddGroupBy(column); if (ctg.cmbCrossTabulationSort.SelectedIndex != -1) { query.AddOrderBy(ctg.cmbCrossTabulationTabGroupByColumnsName.Text, GetSortingEnum(ctg.cmbCrossTabulationSort.Text)); } } } //summarize column for (int i = 0; i < this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children.Count; i++) { CrossTabulationTabStackPanelSummaryControl ts = (CrossTabulationTabStackPanelSummaryControl)this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children[i]; if (ts.cmbCrossTabulationTabSummaryColumnsName.SelectedIndex != -1) { SQLBuilder.Clauses.Column column = new SQLBuilder.Clauses.Column(); column.Name = ts.cmbCrossTabulationTypeOfSummary.Text + "(" + ts.cmbCrossTabulationTabSummaryColumnsName.Text + ")"; column.Format = ts.txtCrossTabulationTabSummaryColFormat.Text; column.AliasName = ts.txtCrossTabulationTabSummaryAlias.Text; query.AddSummarize(column); } } //summary first row SQLBuilder.Clauses.Column column1 = new SQLBuilder.Clauses.Column(); column1.Name = this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFirstRowColumnsName.Text; if (this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFristRowSort.SelectedIndex == -1) { query.CrossTabClause = new SQLBuilder.Clauses.CrossTabulationClause(column1); isSelecteTabColumnsOrGroupbyColumns = true; } else { query.CrossTabClause = new SQLBuilder.Clauses.CrossTabulationClause(column1, GetSortingEnum(this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFristRowSort.Text)); isSelecteTabColumnsOrGroupbyColumns = true; } } if (isSelecteTabColumnsOrGroupbyColumns) { //Geting from table SQLBuilder.Clauses.Table fromTable = new SQLBuilder.Clauses.Table(); fromTable.Name = this.FromTabUC.cmbFromTable.Text; fromTable.AliasName = this.FromTabUC.txtFromAlias.Text; query.SelectFromTable(fromTable); for (int i = 0; i < this.FromTabUC.StackPanelFromTab.Children.Count; i++) { FromTabStackPanelControl fs = (FromTabStackPanelControl)this.FromTabUC.StackPanelFromTab.Children[i]; SQLBuilder.Clauses.Table joinTable = new SQLBuilder.Clauses.Table(); joinTable.Name = fs.cmbFromTabJoinTable.Text; joinTable.AliasName = fs.txtJoinTableAlias.Text; query.AddJoin(GetJoinType(fs.cmbFromTabJoinType.Text), joinTable, fs.cmbFromTabJoinColumns.Text, GetComparisonOpreator(fs.cmbFromTabQueryOpretor.Text), fromTable, fs.cmbFromTabFromColumns.Text); } //******Geting Wheree Clause******** for (int i = 0; i < this.WhereTabUC.StackPanelWhereTab.Children.Count; i++) { string controlType = this.WhereTabUC.StackPanelWhereTab.Children[i].GetType().ToString(); switch (controlType) { case "FastDB.Control.WhereTabRegularConditionControl": WhereTabRegularConditionControl ws = (WhereTabRegularConditionControl)this.WhereTabUC.StackPanelWhereTab.Children[i]; if (i == 0) { query.AddWhere(SQLBuilder.Enums.LogicOperator.None, ws.cmbWhereTabLeftSideColumns.Text, GetComparisonOpreator(ws.cmbWhereTabQueryOpretor.Text), ws.cmbWhereTabRightSideColumns.Text, Convert.ToInt32(ws.cmbWhereTabQueryLevel.Text)); } else { query.AddWhere(GetLogicalOpreator(ws.cmbWhereTabQueryAndOr.Text), ws.cmbWhereTabLeftSideColumns.Text, GetComparisonOpreator(ws.cmbWhereTabQueryOpretor.Text), ws.cmbWhereTabRightSideColumns.Text, Convert.ToInt32(ws.cmbWhereTabQueryLevel.Text)); } break; case "FastDB.Control.WhereTabBetweenConditionControl": WhereTabBetweenConditionControl wsb = (WhereTabBetweenConditionControl)this.WhereTabUC.StackPanelWhereTab.Children[i]; if (i == 0) { query.AddWhere(SQLBuilder.Enums.LogicOperator.None, wsb.cmbWhereTabBetweenColumns.Text, wsb.txtBetweenLeftValue.Text, wsb.txtBetweenRightValue.Text, Convert.ToInt32(wsb.cmbWhereTabQueryLevel.Text)); } else { query.AddWhere(GetLogicalOpreator(wsb.cmbWhereTabQueryAndOr.Text), wsb.cmbWhereTabBetweenColumns.Text, wsb.txtBetweenLeftValue.Text, wsb.txtBetweenRightValue.Text, Convert.ToInt32(wsb.cmbWhereTabQueryLevel.Text)); } break; case "FastDB.Control.WhereTabInNotInConditionControl": WhereTabInNotInConditionControl wInNotIn = (WhereTabInNotInConditionControl)this.WhereTabUC.StackPanelWhereTab.Children[i]; if (i == 0) { query.AddWhere(SQLBuilder.Enums.LogicOperator.None, wInNotIn.cmbWhereTabInNotInColumns.Text, GetComparisonOpreator(wInNotIn.lblInNotIn.Content.ToString()), wInNotIn.txtInNotInValue.Text, Convert.ToInt32(wInNotIn.cmbWhereTabQueryLevel.Text)); } else { query.AddWhere(GetLogicalOpreator(wInNotIn.cmbWhereTabQueryAndOr.Text), wInNotIn.cmbWhereTabInNotInColumns.Text, GetComparisonOpreator(wInNotIn.lblInNotIn.Content.ToString()), wInNotIn.txtInNotInValue.Text, Convert.ToInt32(wInNotIn.cmbWhereTabQueryLevel.Text)); } break; case "FastDB.Control.WhereTabNullNotNullConditionControl": WhereTabNullNotNullConditionControl wNullNotNull = (WhereTabNullNotNullConditionControl)this.WhereTabUC.StackPanelWhereTab.Children[i]; if (i == 0) { query.AddWhere(SQLBuilder.Enums.LogicOperator.None, wNullNotNull.cmbWhereTabNullNotNullColumns.Text, GetComparisonOpreator(wNullNotNull.lblNullNotNull.Content.ToString()), null, Convert.ToInt32(wNullNotNull.cmbWhereTabQueryLevel.Text)); } else { query.AddWhere(GetLogicalOpreator(wNullNotNull.cmbWhereTabQueryAndOr.Text), wNullNotNull.cmbWhereTabNullNotNullColumns.Text, GetComparisonOpreator(wNullNotNull.lblNullNotNull.Content.ToString()), null, Convert.ToInt32(wNullNotNull.cmbWhereTabQueryLevel.Text)); } break; } } } return query; }