예제 #1
0
        private void RemoveAllBtn_Click(object sender, RoutedEventArgs e)
        {
            _SelectedColCollection.Clear();
            if (_SelectedColCollection.Count <= 11 && isExpanded == true)
            {
                SelectedColsStackPanel.Width -= 16;
                isExpanded = false;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation and Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            /**************************************/
        }
예제 #2
0
        private void lstSelectedCol_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var col = ((FrameworkElement)e.OriginalSource).DataContext as Column;

            if (col != null)
            {
                _SelectedColCollection.Remove(col);
            }

            if (_SelectedColCollection.Count <= 11 && isExpanded == true)
            {
                SelectedColsStackPanel.Width -= 16;
                isExpanded = false;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            /**************************************/
        }
예제 #3
0
        private void UpdateXmlQuery()
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWhereTabLeftSideColumns);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbWhereTabLeftSideColumns);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (mainWindow.ValidateAllTabCntrls(rvc))
                {
                    SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                    if (queryBuilder != null)
                    {
                        queryString = queryBuilder.BuildQuery();
                    }
                    XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                    StringWriter  writer        = new StringWriter();
                    SerializerObj.Serialize(writer, queryBuilder);
                }
                else
                {
                }
            }
        }
예제 #4
0
        private void AddRegularConditionRow()
        {
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);
            ResultViewControl        rvc    = null;

            if (parent != null)
            {
                rvc = (ResultViewControl)parent;
            }

            WhereTabRegularConditionControl ws = new WhereTabRegularConditionControl();

            ws.Name = "Fs1";
            ws.cmbWhereTabQueryLevel.SelectedIndex = 0;
            ws.cmbWhereTabQueryAndOr.SelectedIndex = 0;
            ////** Check for AllDisabled
            if (isAllDisabled)
            {
                this.lblErrorMessage.Content        = "";
                ws.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                ws.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
            }
            ws.btnDelete.Visibility = System.Windows.Visibility.Visible;
            LoadColumnComboBox(ws);
            this.StackPanelWhereTab.Children.Add(ws);
        }
        private void UpdateXmlQuery()
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWhereTabInNotInColumns);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbWhereTabInNotInColumns);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (mainWindow.ValidateAllTabCntrls(rvc))
                {
                    SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                    if (queryBuilder != null)
                    {
                        queryString = queryBuilder.BuildQuery();
                    }
                    XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                    StringWriter  writer        = new StringWriter();
                    SerializerObj.Serialize(writer, queryBuilder);
                    //rvc.txtQuery.Text = writer.ToString();
                    //rvc.lblActionTabErrorMessage.Content = "";
                }
                else
                {
                    //rvc.txtQuery.Text = "";
                    //rvc.lblActionTabErrorMessage.Content = "There is an error on one or more tab, please fix an error";
                }
            }
        }
        private void UpdateXmlQuery()
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWhereTabInNotInColumns);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWhereTabInNotInColumns);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (mainWindow.ValidateAllTabCntrls(rvc))
                {
                    SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                    if (queryBuilder != null)
                    {
                        queryString = queryBuilder.BuildQuery();
                    }
                    XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                    StringWriter writer = new StringWriter();
                    SerializerObj.Serialize(writer, queryBuilder);
                    //rvc.txtQuery.Text = writer.ToString();
                    //rvc.lblActionTabErrorMessage.Content = "";
                }
                else
                {
                    //rvc.txtQuery.Text = "";
                    //rvc.lblActionTabErrorMessage.Content = "There is an error on one or more tab, please fix an error";
                }
            }
        }
예제 #7
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            whereborder.Visibility = System.Windows.Visibility.Visible;
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWherTabCondition);

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.FromTabCntrl.isValidated)
                {
                    this.lblErrorMessage.Content = "";

                    //validate before adding stack panel row
                    Validate();
                    //** Check for AllDisabled
                    SetIsAllDisabled();
                    //***Add condition control
                    if (this.cmbWherTabCondition.SelectedIndex != -1)
                    {
                        switch (this.cmbWherTabCondition.Text)
                        {
                        case "Regular":
                            AddRegularConditionRow();
                            break;

                        case "Between":
                            AddBetweenConditionRow();
                            break;

                        case "In":
                            AddInNotInConditionRow();
                            break;

                        case "Not In":
                            AddInNotInConditionRow();
                            break;

                        case "Null":
                            AddNullNotNullConditionRow();
                            break;

                        case "Not Null":
                            AddNullNotNullConditionRow();
                            break;
                        }
                    }
                    Size size = new Size(1200, 500);
                }
                else
                {
                    this.lblErrorMessage.Content           = "********There is an error on From Tab**********";
                    rvc.lblXmlQueryTabErrorMessage.Content = "There is an error in one of Tabs";
                }
            }
        }
 private void txtCrossTabulationTabGroupByAlias_TextChanged(object sender, TextChangedEventArgs e)
 {
     this.txtCrossTabulationTabGroupByAlias.BorderBrush = TextBoxOriginalBorderBrush;
     FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
     DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabGroupByColumnsName);
     if (parent != null)
     {
         ResultViewControl rvc = (ResultViewControl)parent;
     }
 }
예제 #9
0
        private void txtCrossTabulationTabGroupByAlias_TextChanged(object sender, TextChangedEventArgs e)
        {
            this.txtCrossTabulationTabGroupByAlias.BorderBrush = TextBoxOriginalBorderBrush;
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabGroupByColumnsName);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
            }
        }
예제 #10
0
        private void StackPanelWhereTab_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.CustomQueryAccordion.LayoutChildren(true);
            }
        }
 private void txtCrossTabulationTabSummaryAlias_TextChanged(object sender, TextChangedEventArgs e)
 {
     // seting the style if style is changed due to Error it changes border of the combobox
     this.txtCrossTabulationTabSummaryAlias.BorderBrush = TextBoxOriginalBorderBrush;
     FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
     DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);
     if (parent != null)
     {
         ResultViewControl rvc = (ResultViewControl)parent;
     }
 }
 private void cmbCrossTabulationTypeOfSummary_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     // seting the style if style is changed due to Error it changes border of the combobox
     this.cmbCrossTabulationTypeOfSummary.Style = ComboboxOriginalStyle;
     FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
     DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);
     if (parent != null)
     {
         ResultViewControl rvc = (ResultViewControl)parent;
     }
 }
예제 #13
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            ScriptGen scriptgenerator = (ScriptGen)GetTopLevelControl(this);
            int numberOfStackPanel = scriptgenerator.ScriptGen1.StackPanelScriptGen.Children.Count;

            FromTabStackPanelControl fs = new FromTabStackPanelControl();
            fs.Name = "Fs2";
            fs.Margin = new Thickness(20, 250, 20, 255);
            fs.btnDelete.Visibility = System.Windows.Visibility.Visible;
            fs.btnDelete.Uid = (numberOfStackPanel + 1).ToString();
            fs.btnDelete.Width = 25.0;
        }
예제 #14
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            AddFromTabStackPanel();
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbFromTable);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.CustomQueryAccordion.LayoutChildren(true);
            }
        }
        private void cmbCrossTabulationTypeOfSummary_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // seting the style if style is changed due to Error it changes border of the combobox
            this.cmbCrossTabulationTypeOfSummary.Style = ComboboxOriginalStyle;
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
            }
        }
        private void txtCrossTabulationTabSummaryAlias_TextChanged(object sender, TextChangedEventArgs e)
        {
            // seting the style if style is changed due to Error it changes border of the combobox
            this.txtCrossTabulationTabSummaryAlias.BorderBrush = TextBoxOriginalBorderBrush;
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
            }
        }
예제 #17
0
        private void txtFromAlias_LostFocus(object sender, RoutedEventArgs e)
        {
            FromTabStackPanelControl fromTabSPCntrl = new FromTabStackPanelControl();
            DependencyObject         parent         = fromTabSPCntrl.GetRVC(this.cmbFromTable);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                fromTabSPCntrl.UpdateAllControls(rvc);
                rvc.SelectTabCntrl.ColsToSelectAcc.LayoutChildren(true);
            }
        }
예제 #18
0
        private void cmbFromTabJoinTable_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // seting the style if style is changed due to Error it changes border of the combobox
            this.cmbFromTabJoinTable.Style = ComboboxOriginalStyle;
            ComboBox   currentCmb = (ComboBox)sender;
            int        stkpanelNumberToCmbJoinColumClear = -1;
            MainWindow mainWindow = new MainWindow {
                WindowStartupLocation = WindowStartupLocation.CenterOwner, Owner = Window.GetWindow(this)
            };

            DependencyObject parent = GetRVC(this.cmbFromTabJoinTable);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.FromTabCntrl.StackPanelFromTab.Children.Count > 1)
                {
                    if (currentCmb.SelectedIndex > -1)
                    {
                        bool isSelectedTableThere = false;
                        for (int i = 0; i < rvc.FromTabCntrl.StackPanelFromTab.Children.Count; i++)
                        {
                            FromTabStackPanelControl fs = (FromTabStackPanelControl)rvc.FromTabCntrl.StackPanelFromTab.Children[i];
                            if (fs.cmbFromTabJoinTable != currentCmb)
                            {
                                if (fs.cmbFromTabJoinTable.SelectedIndex != currentCmb.SelectedIndex)
                                {
                                    isSelectedTableThere = false;
                                }
                                else
                                {
                                    isSelectedTableThere = true;
                                    stkpanelNumberToCmbJoinColumClear = i;
                                    currentCmb.SelectedIndex          = -1;
                                    break;
                                }
                            }
                        }
                        if (isSelectedTableThere == false)
                        {
                            LoadJoinTableColumnComboBox();
                        }
                    }
                }
                else
                {
                    UpdateAllControls(rvc);
                    LoadJoinTableColumnComboBox();
                }
            }
        }
예제 #19
0
 private void LoadFromTableColumnComboBox(FromTabStackPanelControl fs)
 {
     MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbFromTable);
     if (this.cmbFromTable.SelectedIndex != -1)
     {
         if (mainWindow.listOfTable != null & mainWindow.listOfTable.Count > 0)
         {
             fs.cmbFromTabJoinTable.ItemsSource = Common.ConvertTablesToStringList(mainWindow.listOfTable);
             fs.cmbFromTabFromColumns.Text = "";
             fs.cmbFromTabFromColumns.ItemsSource = Common.ConvertColumsToStringList(mainWindow.listOfTable[this.cmbFromTable.SelectedIndex].columns);
         }
     }
 }
예제 #20
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            
            AddFromTabStackPanel();
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbFromTable);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.CustomQueryAccordion.LayoutChildren(true);
            }
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWhereTabNullNotNullColumns);

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbWhereTabNullNotNullColumns);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count > 0)
                {
                    DockPanel dkp = (DockPanel)btnDelete.Parent;
                    WhereTabNullNotNullConditionControl wsp = (WhereTabNullNotNullConditionControl)((Grid)((StackPanel)dkp.Parent).Parent).Parent;
                    rvc.WhereTabCntrl.StackPanelWhereTab.Children.Remove(wsp);

                    if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count != 0)
                    {
                        string controlType = rvc.WhereTabCntrl.StackPanelWhereTab.Children[0].GetType().ToString();
                        switch (controlType)
                        {
                        case "FastDB.Control.WhereTabRegularConditionControl":
                            WhereTabRegularConditionControl wr = (WhereTabRegularConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wr.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wr.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;

                        case "FastDB.Control.WhereTabBetweenConditionControl":
                            WhereTabBetweenConditionControl wb = (WhereTabBetweenConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wb.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wb.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;

                        case "FastDB.Control.WhereTabInNotInConditionControl":
                            WhereTabInNotInConditionControl wInNotin = (WhereTabInNotInConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wInNotin.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wInNotin.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;

                        case "FastDB.Control.WhereTabNullNotNullConditionControl":
                            WhereTabNullNotNullConditionControl wNullNotNull = (WhereTabNullNotNullConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wNullNotNull.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wNullNotNull.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;
                        }
                    }
                }
            }
        }
예제 #22
0
        private void LoadFromTableColumnComboBox(FromTabStackPanelControl fs)
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbFromTable);

            if (this.cmbFromTable.SelectedIndex != -1)
            {
                if (mainWindow.listOfTable != null & mainWindow.listOfTable.Count > 0)
                {
                    fs.cmbFromTabJoinTable.ItemsSource   = Common.ConvertTablesToStringList(mainWindow.listOfTable);
                    fs.cmbFromTabFromColumns.Text        = "";
                    fs.cmbFromTabFromColumns.ItemsSource = Common.ConvertColumsToStringList(mainWindow.listOfTable[this.cmbFromTable.SelectedIndex].columns);
                }
            }
        }
        private void cmbCrossTabulationTabUserSelectSummaryColFormat_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.cmbCrossTabulationTabUserSelectSummaryColFormat.SelectedIndex != -1)
            {
                this.txtCrossTabulationTabSummaryColFormat.Text = this.cmbCrossTabulationTabUserSelectSummaryColFormat.SelectedValue.ToString();
            }
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
            }
        }
예제 #24
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            Button     btnDelete  = (Button)sender;
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbFromTabJoinTable);

            DependencyObject parent = GetRVC(this.cmbFromTabJoinTable);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.FromTabCntrl.StackPanelFromTab.Children.Count > 0)
                {
                    DockPanel dkp = (DockPanel)btnDelete.Parent;
                    FromTabStackPanelControl fsp = (FromTabStackPanelControl)((Grid)((StackPanel)dkp.Parent).Parent).Parent;
                    rvc.FromTabCntrl.StackPanelFromTab.Children.Remove(fsp);

                    if (rvc.FromTabCntrl.isValidated & (rvc.TabulationTabCntrl.isValidated & rvc.TabulationTabCntrl.isTabulation == false) & (rvc.CrossTabulationTabCntrl.isValidated & rvc.CrossTabulationTabCntrl.isCrossTabulation == false))
                    {
                        rvc.SelectTabCntrl.lstToSelecteColFrom.IsEnabled   = true;
                        rvc.SelectTabCntrl.lstToSelecteColFrom.ItemsSource = mainWindow.GenerateListOfSelectTabCntrlColumns(rvc);
                    }
                    rvc.CustomQueryAccordion.LayoutChildren(true);
                }
                if (rvc.FromTabCntrl.StackPanelFromTab.Children.Count == 0)
                {
                    rvc.FromTabCntrl.DockPanelFromTabRowHeader.Visibility = System.Windows.Visibility.Hidden;
                    UpdateAllControls(rvc);
                    rvc.CustomQueryAccordion.LayoutChildren(true);

                    /************Update query**************/
                    if (mainWindow.ValidateAllTabCntrls(rvc))
                    {
                        SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                        if (queryBuilder != null)
                        {
                            queryString = queryBuilder.BuildQuery();
                        }
                        XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                        StringWriter  writer        = new StringWriter();
                        SerializerObj.Serialize(writer, queryBuilder);
                    }
                    else
                    {
                    }
                    /**************************************/
                }
            }
        }
예제 #25
0
        private void lstToSelecteColFrom_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var col = ((FrameworkElement)e.OriginalSource).DataContext as Column;

            if (col != null)
            {
                IEnumerable <Column> columns = _SelectedColCollection.Where(x => x.Name == col.Name && x.AliasName == col.AliasName);
                if (columns.Count() == 0)
                {
                    IEnumerable <Column> columnsWithSameAlias = _SelectedColCollection.Where(x => x.AliasName == col.AliasName);
                    if (columnsWithSameAlias.Count() == 0)
                    {
                        _SelectedColCollection.Add(col);
                    }
                    else
                    {
                        MessageBox.Show("Duplicate Alias");
                    }
                }
                else
                {
                    MessageBox.Show("Duplicate Column");
                }
                this.lstToSelecteColFrom.SelectedIndex = -1;
            }

            if (_SelectedColCollection.Count > 11 && isExpanded == false)
            {
                SelectedColsStackPanel.Width += 16;
                isExpanded = true;
            }

            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWhereTabNullNotNullColumns);

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWhereTabNullNotNullColumns);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count > 0)
                {
                    DockPanel dkp = (DockPanel)btnDelete.Parent;
                    WhereTabNullNotNullConditionControl wsp = (WhereTabNullNotNullConditionControl)((Grid)((StackPanel)dkp.Parent).Parent).Parent;
                    rvc.WhereTabCntrl.StackPanelWhereTab.Children.Remove(wsp);
                    
                    if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count != 0)
                    {
                        string controlType = rvc.WhereTabCntrl.StackPanelWhereTab.Children[0].GetType().ToString();
                        switch (controlType)
                        {
                            case "FastDB.Control.WhereTabRegularConditionControl":
                                WhereTabRegularConditionControl wr = (WhereTabRegularConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wr.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wr.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                            case "FastDB.Control.WhereTabBetweenConditionControl":
                                WhereTabBetweenConditionControl wb = (WhereTabBetweenConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wb.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wb.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                            case "FastDB.Control.WhereTabInNotInConditionControl":
                                WhereTabInNotInConditionControl wInNotin = (WhereTabInNotInConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wInNotin.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wInNotin.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                            case "FastDB.Control.WhereTabNullNotNullConditionControl":
                                WhereTabNullNotNullConditionControl wNullNotNull = (WhereTabNullNotNullConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wNullNotNull.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wNullNotNull.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                        }
                    }
                }
            }
        }
 private void cmbCrossTabulationTabSummaryColumnsName_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     this.cmbCrossTabulationTabSummaryColumnsName.Style = ComboboxOriginalStyle;
     FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
     DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);
     if (parent != null)
     {
         if (this.cmbCrossTabulationTabSummaryColumnsName.SelectedItem != null)
         {
             this.txtCrossTabulationTabSummaryAlias.Text = this.cmbCrossTabulationTabSummaryColumnsName.SelectedItem.ToString();
             this.txtCrossTabulationTabSummaryAlias.Text = this.txtCrossTabulationTabSummaryAlias.Text.Substring(txtCrossTabulationTabSummaryAlias.Text.IndexOf('.') + 1); 
             this.txtCrossTabulationTabSummaryAlias.Text = this.txtCrossTabulationTabSummaryAlias.Text.Replace("_", " ");
             this.txtCrossTabulationTabSummaryAlias.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(this.txtCrossTabulationTabSummaryAlias.Text);
         }
         ResultViewControl rvc = (ResultViewControl)parent;
     }
 }
        private void cmbCrossTabulationTabSummaryColumnsName_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            this.cmbCrossTabulationTabSummaryColumnsName.Style = ComboboxOriginalStyle;
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);

            if (parent != null)
            {
                if (this.cmbCrossTabulationTabSummaryColumnsName.SelectedItem != null)
                {
                    this.txtCrossTabulationTabSummaryAlias.Text = this.cmbCrossTabulationTabSummaryColumnsName.SelectedItem.ToString();
                    this.txtCrossTabulationTabSummaryAlias.Text = this.txtCrossTabulationTabSummaryAlias.Text.Substring(txtCrossTabulationTabSummaryAlias.Text.IndexOf('.') + 1);
                    this.txtCrossTabulationTabSummaryAlias.Text = this.txtCrossTabulationTabSummaryAlias.Text.Replace("_", " ");
                    this.txtCrossTabulationTabSummaryAlias.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(this.txtCrossTabulationTabSummaryAlias.Text);
                }
                ResultViewControl rvc = (ResultViewControl)parent;
            }
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            Button     btnDelete  = (Button)sender;
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbFromTabFromANDOR);
            FromTabStackPanelControl FromTabStackPanelControl = (FromTabStackPanelControl)GetRVCFromStack(this.cmbFromTabFromANDOR);
            DependencyObject         parent = GetRVC(this.cmbFromTabFromANDOR);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (FromTabStackPanelControl.StackPanelFromTabMore.Children.Count > 0)
                {
                    DockPanel dkp = (DockPanel)btnDelete.Parent;
                    FromTabStackPanelControlMore fsp = (FromTabStackPanelControlMore)((Grid)((StackPanel)dkp.Parent).Parent).Parent;
                    FromTabStackPanelControl.StackPanelFromTabMore.Children.Remove(fsp);
                    rvc.CustomQueryAccordion.LayoutChildren(true);
                }
                if (rvc.FromTabCntrl.StackPanelFromTab.Children.Count == 0)
                {
                    rvc.FromTabCntrl.DockPanelFromTabRowHeader.Visibility = System.Windows.Visibility.Hidden;
                    UpdateAllControls(rvc);
                    rvc.CustomQueryAccordion.LayoutChildren(true);

                    /************Update query**************/
                    if (mainWindow.ValidateAllTabCntrls(rvc))
                    {
                        SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                        if (queryBuilder != null)
                        {
                            queryString = queryBuilder.BuildQuery();
                        }
                        XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                        StringWriter  writer        = new StringWriter();
                        SerializerObj.Serialize(writer, queryBuilder);
                    }
                    else
                    {
                    }
                    /**************************************/
                }
            }
        }
예제 #30
0
        private void AddFromTabStackPanel()
        {
            if (this.cmbFromTabJoinType.SelectedIndex != -1)
            {
                MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbFromTabJoinType);
                FromTabStackPanelControl FromTabStackPanelControl = (FromTabStackPanelControl)GetRVCFromStack(this.cmbFromTabJoinType);
                int numberOfStackPanel          = FromTabStackPanelControl.StackPanelFromTabMore.Children.Count;
                FromTabStackPanelControlMore fs = new FromTabStackPanelControlMore();
                Validate();

                fs.Name   = "Fs2";
                fs.Margin = new Thickness(0, 5, 0, 5);
                fs.btndeletemore.Visibility = System.Windows.Visibility.Visible;
                fs.btndeletemore.Uid        = (numberOfStackPanel + 1).ToString();
                fs.btndeletemore.Width      = 25.0;

                LoadFromTableColumnComboBox(fs);
                this.StackPanelFromTabMore.Children.Add(fs);
            }
        }
        private void cmbCrossTabulationTabGroupByColumnsName_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if ((SQLBuilder.Clauses.Column)this.cmbCrossTabulationTabGroupByColumnsName.SelectedItem != null)
            {
                this.txtCrossTabulationTabGroupByColFormat.Text = ((SQLBuilder.Clauses.Column)this.cmbCrossTabulationTabGroupByColumnsName.SelectedItem).Format;
                this.txtCrossTabulationTabGroupByAlias.Text = this.cmbCrossTabulationTabGroupByColumnsName.SelectedItem.ToString();
                this.txtCrossTabulationTabGroupByAlias.Text = this.txtCrossTabulationTabGroupByAlias.Text.Substring(txtCrossTabulationTabGroupByAlias.Text.IndexOf('.') + 1);
                this.txtCrossTabulationTabGroupByAlias.Text = this.txtCrossTabulationTabGroupByAlias.Text.Replace("_", " ");

                this.txtCrossTabulationTabGroupByAlias.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(this.txtCrossTabulationTabGroupByAlias.Text);
                this.cmbCrossTabulationSort.SelectedItem = "Ascending";
            }

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabGroupByColumnsName);
            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
            }

        }
예제 #32
0
        private void cmbCrossTabulationTabGroupByColumnsName_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if ((SQLBuilder.Clauses.Column) this.cmbCrossTabulationTabGroupByColumnsName.SelectedItem != null)
            {
                this.txtCrossTabulationTabGroupByColFormat.Text = ((SQLBuilder.Clauses.Column) this.cmbCrossTabulationTabGroupByColumnsName.SelectedItem).Format;
                this.txtCrossTabulationTabGroupByAlias.Text     = this.cmbCrossTabulationTabGroupByColumnsName.SelectedItem.ToString();
                this.txtCrossTabulationTabGroupByAlias.Text     = this.txtCrossTabulationTabGroupByAlias.Text.Substring(txtCrossTabulationTabGroupByAlias.Text.IndexOf('.') + 1);
                this.txtCrossTabulationTabGroupByAlias.Text     = this.txtCrossTabulationTabGroupByAlias.Text.Replace("_", " ");

                this.txtCrossTabulationTabGroupByAlias.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(this.txtCrossTabulationTabGroupByAlias.Text);
                this.cmbCrossTabulationSort.SelectedItem    = "Ascending";
            }

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabGroupByColumnsName);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
            }
        }
예제 #33
0
        private void cmbFromTable_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.cmbFromTable.SelectedIndex > -1)
            {
                FromTabStackPanelControl fromTabSPCntrl = new FromTabStackPanelControl();
                DependencyObject         parent         = fromTabSPCntrl.GetRVC(this.cmbFromTable);

                if (parent != null)
                {
                    ResultViewControl rvc = (ResultViewControl)parent;
                    fromTabSPCntrl.UpdateAllControls(rvc);
                    rvc.SelectTabCntrl._SelectedColCollection.Clear();
                }
                this.cmbFromTable.Style = ComboboxOriginalStyle;
                for (int i = 0; i < this.StackPanelFromTab.Children.Count; i++)
                {
                    FromTabStackPanelControl fs1 = (FromTabStackPanelControl)this.StackPanelFromTab.Children[i];
                    LoadFromTableColumnComboBox(fs1);
                }
            }
        }
예제 #34
0
        private void btnRemove_Click(object sender, RoutedEventArgs e)
        {
            if (this._SelectedColCollection.Count == 0)
            {
                this.lblErrorMessage.Content = "Please select column(s)";
            }

            int count = this.lstSelectedCol.SelectedItems.Count;

            for (int i = 0; i < count; i++)
            {
                Column col = (Column)this.lstSelectedCol.SelectedItems[0];
                _SelectedColCollection.Remove(col);
            }
            this.lstToSelecteColFrom.SelectedIndex = -1;
            this.lstSelectedCol.SelectedIndex      = -1;

            if (_SelectedColCollection.Count <= 11 && isExpanded == true)
            {
                SelectedColsStackPanel.Width -= 16;
                isExpanded = false;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            /**************************************/
        }
예제 #35
0
        private List<string> GetColumnsFromAllFromTabTable()
        {
            List<string> list = new List<string>();
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWherTabCondition);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);  //get resultview control containing cmbWherTabCondition

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                //get the From table columns 
                if (mainWindow.listOfTable != null & mainWindow.listOfTable.Count > 0)
                {
                    List<string> fc = GetFromTableColums(mainWindow.listOfTable[rvc.FromTabCntrl.cmbFromTable.SelectedIndex].columns, rvc.FromTabCntrl.txtFromAlias.Text);

                    if (fc != null)
                    {
                        list.AddRange(fc);
                    }
                }

                if (rvc.FromTabCntrl.StackPanelFromTab.Children.Count > 0)
                {
                    for (int i = 0; i < rvc.FromTabCntrl.StackPanelFromTab.Children.Count; i++)
                    {
                        FromTabStackPanelControl fs = (FromTabStackPanelControl)rvc.FromTabCntrl.StackPanelFromTab.Children[i];

                        List<string> jc = GetJoinTableColums((List<string>)fs.cmbFromTabJoinColumns.ItemsSource, fs.txtJoinTableAlias.Text);
                        if (jc != null)
                        {
                            list.AddRange(jc);
                        }
                    }
                }
            }
            return list;
        }
예제 #36
0
        private List <string> GetColumnsFromAllFromTabTable()
        {
            List <string>            list                   = new List <string>();
            MainWindow               mainWindow             = (MainWindow)GetTopLevelControl(this.cmbWherTabCondition);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent                 = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition); //get resultview control containing cmbWherTabCondition

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                //get the From table columns
                if (mainWindow.listOfTable != null & mainWindow.listOfTable.Count > 0)
                {
                    List <string> fc = GetFromTableColums(mainWindow.listOfTable[rvc.FromTabCntrl.cmbFromTable.SelectedIndex].columns, rvc.FromTabCntrl.txtFromAlias.Text);

                    if (fc != null)
                    {
                        list.AddRange(fc);
                    }
                }

                if (rvc.FromTabCntrl.StackPanelFromTab.Children.Count > 0)
                {
                    for (int i = 0; i < rvc.FromTabCntrl.StackPanelFromTab.Children.Count; i++)
                    {
                        FromTabStackPanelControl fs = (FromTabStackPanelControl)rvc.FromTabCntrl.StackPanelFromTab.Children[i];

                        List <string> jc = GetJoinTableColums((List <string>)fs.cmbFromTabJoinColumns.ItemsSource, fs.txtJoinTableAlias.Text);
                        if (jc != null)
                        {
                            list.AddRange(jc);
                        }
                    }
                }
            }
            return(list);
        }
예제 #37
0
        private void AddFromTabStackPanel()
        {
            if (this.cmbFromTable.SelectedIndex != -1)
            {
                MainWindow mainWindow         = (MainWindow)GetTopLevelControl(this.cmbFromTable);
                int        numberOfStackPanel = mainWindow.FromTabUC.StackPanelFromTab.Children.Count;

                //validate before adding stack panel row
                Validate();
                FromTabStackPanelControl fs = new FromTabStackPanelControl();

                fs.Name   = "Fs2";
                fs.Margin = new Thickness(0, 5, 0, 5);
                fs.btnDelete.Visibility = System.Windows.Visibility.Visible;
                fs.btnDelete.Uid        = (numberOfStackPanel + 1).ToString();
                fs.btnDelete.Width      = 25.0;

                LoadFromTableColumnComboBox(fs);
                this.StackPanelFromTab.Children.Add(fs);
                DockPanelFromTabRowHeader.Visibility = System.Windows.Visibility.Visible;
                borderJoinDock.Visibility            = System.Windows.Visibility.Visible;
            }
        }
예제 #38
0
        private void AddFromTabStackPanel()
        {
            if (this.cmbFromTable.SelectedIndex != -1)
            {
                MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbFromTable);
                int numberOfStackPanel = mainWindow.FromTabUC.StackPanelFromTab.Children.Count;

                //validate before adding stack panel row
                Validate();
                FromTabStackPanelControl fs = new FromTabStackPanelControl();

                fs.Name = "Fs2";
                fs.Margin = new Thickness(0, 5, 0, 5);
                fs.btnDelete.Visibility = System.Windows.Visibility.Visible;
                fs.btnDelete.Uid = (numberOfStackPanel + 1).ToString();
                fs.btnDelete.Width = 25.0;

                LoadFromTableColumnComboBox(fs);
                this.StackPanelFromTab.Children.Add(fs);
                DockPanelFromTabRowHeader.Visibility = System.Windows.Visibility.Visible;
                borderJoinDock.Visibility = System.Windows.Visibility.Visible;
            }
            
        }
예제 #39
0
        private void AddAllBtn_Click(object sender, RoutedEventArgs e)
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstToSelecteColFrom);

            _SelectedColCollection.Clear();

            foreach (Column col in this.lstToSelecteColFrom.Items)
            {
                IEnumerable <Column> columns = _SelectedColCollection.Where(x => x.Name == col.Name & x.AliasName == col.AliasName);
                if (columns.Count() == 0)
                {
                    _SelectedColCollection.Add(col);
                }
            }

            if (_SelectedColCollection.Count > 11 && isExpanded == false)
            {
                SelectedColsStackPanel.Width += 16;
                isExpanded = true;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
            }
            /**************************************/
        }
예제 #40
0
        private List <string> GetColumnsFromAllFromTabTable()
        {
            List <string>            list                   = new List <string>();
            MainWindow               mainWindow             = (MainWindow)GetTopLevelControl(this.ComputedColFormatComboBox);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent                 = fromTabStackPanelCntrl.GetRVC(this.ComputedColFormatComboBox); //get resultview control containing cmbWherTabCondition

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                //get the From table columns
                if (mainWindow.listOfTable != null & mainWindow.listOfTable.Count > 0)
                {
                    List <string> fc = GetFromTableColums(mainWindow.listOfTable[rvc.FromTabCntrl.cmbFromTable.SelectedIndex].columns, rvc.FromTabCntrl.txtFromAlias.Text);

                    if (fc != null)
                    {
                        list.AddRange(fc);
                    }
                }
            }
            return(list);
        }
 private void cmbCrossTabulationTabUserSelectSummaryColFormat_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (this.cmbCrossTabulationTabUserSelectSummaryColFormat.SelectedIndex != -1)
     {
         this.txtCrossTabulationTabSummaryColFormat.Text = this.cmbCrossTabulationTabUserSelectSummaryColFormat.SelectedValue.ToString();
     }
     FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
     DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbCrossTabulationTabSummaryColumnsName);
     if (parent != null)
     {
         ResultViewControl rvc = (ResultViewControl)parent;
     }
 }
예제 #42
0
        public Boolean Validate()
        {
            bool validated = true;

            if (this.cmbFromTable.SelectedIndex == -1)
            {
                this.cmbFromTable.Style       = null;
                this.cmbFromTable.BorderBrush = Brushes.Red;
                validated = false;
            }
            if (this.txtFromAlias.Text == string.Empty)
            {
                this.txtFromAlias.BorderBrush = Brushes.Red;
                validated = false;
            }
            for (int i = 0; i < this.StackPanelFromTab.Children.Count; i++)
            {
                FromTabStackPanelControl fs = (FromTabStackPanelControl)this.StackPanelFromTab.Children[i];
                if (fs.cmbFromTabJoinType.SelectedIndex == -1)
                {
                    fs.cmbFromTabJoinType.Style       = null;
                    fs.cmbFromTabJoinType.BorderBrush = Brushes.Red;
                    validated = false;
                }
                if (fs.cmbFromTabJoinTable.SelectedIndex == -1)
                {
                    fs.cmbFromTabJoinTable.Style       = null;
                    fs.cmbFromTabJoinTable.BorderBrush = Brushes.Red;
                    validated = false;
                }
                if (fs.cmbFromTabFromColumns.SelectedIndex == -1 & fs.cmbFromTabFromColumns.Text == "")
                {
                    fs.cmbFromTabFromColumns.Style       = null;
                    fs.cmbFromTabFromColumns.BorderBrush = Brushes.Red;
                    validated = false;
                }
                if (fs.cmbFromTabQueryOpretor.SelectedIndex == -1)
                {
                    fs.cmbFromTabQueryOpretor.Style       = null;
                    fs.cmbFromTabQueryOpretor.BorderBrush = Brushes.Red;
                    validated = false;
                }
                if (fs.cmbFromTabJoinColumns.SelectedIndex == -1 & fs.cmbFromTabJoinColumns.Text == "")
                {
                    fs.cmbFromTabJoinColumns.Style       = null;
                    fs.cmbFromTabJoinColumns.BorderBrush = Brushes.Red;
                    validated = false;
                }

                //checking for duplicate alias
                for (int d = 0; d < this.StackPanelFromTab.Children.Count; d++)
                {
                    FromTabStackPanelControl fs2 = (FromTabStackPanelControl)this.StackPanelFromTab.Children[d];
                    if (this.txtFromAlias.Text == fs2.txtJoinTableAlias.Text)
                    {
                        fs.txtJoinTableAlias.BorderBrush = Brushes.Red;
                        this.txtFromAlias.BorderBrush    = Brushes.Red;
                        validated = false;
                        break;
                    }
                    else
                    {
                        this.txtFromAlias.BorderBrush    = TextBoxOriginalBorderBrush;
                        fs.txtJoinTableAlias.BorderBrush = TextBoxOriginalBorderBrush;
                    }
                    if (fs.txtJoinTableAlias != fs2.txtJoinTableAlias)
                    {
                        if (fs.txtJoinTableAlias.Text == fs2.txtJoinTableAlias.Text)
                        {
                            fs.txtJoinTableAlias.BorderBrush = Brushes.Red;
                            validated = false;
                            break;
                        }
                    }
                    else
                    {
                        fs.txtJoinTableAlias.BorderBrush = TextBoxOriginalBorderBrush;
                    }
                }

                if (fs.txtJoinTableAlias.Text == string.Empty)
                {
                    fs.txtJoinTableAlias.BorderBrush = Brushes.Red;
                    validated = false;
                }
            }
            if (validated)
            {
                isValidated = true;
                this.lblErrorMessage.Visibility = System.Windows.Visibility.Hidden;
            }
            else
            {
                isValidated = false;
                this.lblErrorMessage.Visibility = System.Windows.Visibility.Visible;
            }
            return(validated);
        }
예제 #43
0
        private void cmbFromTable_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.cmbFromTable.SelectedIndex > -1)
            {
                FromTabStackPanelControl fromTabSPCntrl = new FromTabStackPanelControl();
                DependencyObject parent = fromTabSPCntrl.GetRVC(this.cmbFromTable);

                if (parent != null)
                {
                    ResultViewControl rvc = (ResultViewControl)parent;
                    fromTabSPCntrl.UpdateAllControls(rvc);
                    rvc.SelectTabCntrl._SelectedColCollection.Clear();
                }
                this.cmbFromTable.Style = ComboboxOriginalStyle;
                for (int i = 0; i < this.StackPanelFromTab.Children.Count; i++)
                {
                    FromTabStackPanelControl fs1 = (FromTabStackPanelControl)this.StackPanelFromTab.Children[i];
                    LoadFromTableColumnComboBox(fs1);
                }
            }
        }
예제 #44
0
        private void txtFromAlias_LostFocus(object sender, RoutedEventArgs e)
        {
            FromTabStackPanelControl fromTabSPCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabSPCntrl.GetRVC(this.cmbFromTable);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                fromTabSPCntrl.UpdateAllControls(rvc);
                rvc.SelectTabCntrl.ColsToSelectAcc.LayoutChildren(true);
            }
        }
예제 #45
0
        private void UpdateXmlQuery()
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (mainWindow.ValidateAllTabCntrls(rvc))
                {
                    SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                    if (queryBuilder != null)
                    {
                        queryString = queryBuilder.BuildQuery();
                    }
                    XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                    StringWriter writer = new StringWriter();
                    SerializerObj.Serialize(writer, queryBuilder);
                }
                else
                {
                    
                }
            }
        }
예제 #46
0
        private void AddRegularConditionRow()
        {
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);
            ResultViewControl rvc = null;

            if (parent != null)
            {
                rvc = (ResultViewControl)parent;
            }

            WhereTabRegularConditionControl ws = new WhereTabRegularConditionControl();
            ws.Name = "Fs1";
            ws.cmbWhereTabQueryLevel.SelectedIndex = 0;
            ws.cmbWhereTabQueryAndOr.SelectedIndex = 0;
            ////** Check for AllDisabled
            if (isAllDisabled)
            {
                this.lblErrorMessage.Content = "";
                ws.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                ws.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
            }
            ws.btnDelete.Visibility = System.Windows.Visibility.Visible;
            LoadColumnComboBox(ws);
            this.StackPanelWhereTab.Children.Add(ws);
        }
예제 #47
0
        private void LoadAllCustomQueryCntrls(SQLBuilder.SelectQueryBuilder queryBuilder, bool isGetResultByTreeView, ResultViewControl rc)
        {
            Mouse.OverrideCursor = Cursors.Wait;

            string db = ConfigurationManager.AppSettings["DefaultDatabase"].ToString();
            List<Schema> schemas1 = MySQLData.DataAccess.ADODataBridge.getSchemaTree(connectionString, db, ConfigurationManager.AppSettings["DerivedTablesPath"]);//DataAccess.GetDatabases();

            listOfTable = new List<MySQLData.Table>();
            foreach (Schema schema in schemas1)
            {
                listOfTable.AddRange(schema.tables);
            }

            if (listOfTable != null)
            {
                rc.FromTabCntrl.cmbFromTable.ItemsSource = Common.ConvertTablesToStringList(listOfTable);
            }
            rc.FromTabCntrl.cmbFromTable.SelectedIndex = Common.getIndex((List<string>)rc.FromTabCntrl.cmbFromTable.ItemsSource, queryBuilder.SelectedTables[0].Name);
            rc.FromTabCntrl.txtFromAlias.Text = queryBuilder.SelectedTables[0].AliasName;

            int loopCount = 0;
            foreach (SQLBuilder.Clauses.JoinClause JoinClasue in queryBuilder.Joins)
            {
                // create join row control
                int numberOfStackPanel = loopCount++;
                FromTabStackPanelControl fc = new FromTabStackPanelControl();
                fc.Name = "Fs2";
                fc.Margin = new Thickness(0, 5, 0, 5);
                fc.btnDelete.Visibility = System.Windows.Visibility.Visible;
                fc.btnDelete.Uid = (numberOfStackPanel + 1).ToString();
                fc.btnDelete.Width = 25.0;

                if (this.listOfTable != null & this.listOfTable.Count > 0)
                {
                    fc.cmbFromTabJoinTable.ItemsSource = Common.ConvertTablesToStringList(this.listOfTable);
                    fc.cmbFromTabFromColumns.ItemsSource = Common.ConvertColumsToStringList(this.listOfTable[rc.FromTabCntrl.cmbFromTable.SelectedIndex].columns);
                }
                fc.cmbFromTabJoinType.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabJoinType.ItemsSource, JoinClasue.JoinType.ToString());
                fc.cmbFromTabJoinTable.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabJoinTable.ItemsSource, JoinClasue.ToTable.Name);
                fc.txtJoinTableAlias.Text = JoinClasue.ToTable.AliasName;
                fc.cmbFromTabFromColumns.Text = JoinClasue.FromColumn.ToString();
                fc.cmbFromTabQueryOpretor.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabQueryOpretor.ItemsSource, JoinClasue.ComparisonOperator.ToString());
                fc.cmbFromTabJoinColumns.ItemsSource = Common.ConvertColumsToStringList(this.listOfTable[fc.cmbFromTabJoinTable.SelectedIndex].columns);
                fc.cmbFromTabJoinColumns.Text = JoinClasue.ToColumn.ToString();
                rc.FromTabCntrl.StackPanelFromTab.Children.Add(fc);
                rc.FromTabCntrl.DockPanelFromTabRowHeader.Visibility = System.Windows.Visibility.Visible;
                rc.FromTabCntrl.borderJoinDock.Visibility = System.Windows.Visibility.Visible;


                SQLBuilder.Clauses.WhereClause[] joinConditions = queryBuilder.Joins[loopCount - 1].JoinCondition.ToArray<SQLBuilder.Clauses.WhereClause>();
                for (int index = 1; index < joinConditions.Length; index++)
                {
                    FromTabStackPanelControlMore fcm = new FromTabStackPanelControlMore();
                    fcm.Name = "Fs2";
                    fcm.Margin = new Thickness(0, 5, 0, 5);
                    fcm.btndeletemore.Visibility = System.Windows.Visibility.Visible;
                    fcm.btndeletemore.Uid = (numberOfStackPanel + 1).ToString();
                    fcm.btndeletemore.Width = 25.0;

                    List<string> Collist = (from x in (GenerateListOfSelectTabCntrlColumns(rc))
                                            select x.Name).ToList<string>();

                    //List<string> Collist1 = (from x in (GenerateListOfSelectTabColumns(rc))
                    //                        select x.Name).ToList<string>();

                    SQLBuilder.Clauses.GeneralWhereClause generalClause = (SQLBuilder.Clauses.GeneralWhereClause)joinConditions[index];
                    fcm.cmbFromTabFromColumns.ItemsSource = Collist;
                    fcm.cmbFromTabJoinColumns.ItemsSource = Collist;
                    //if (this.listOfTable != null & this.listOfTable.Count > 0)
                    //{
                    //    fcm.cmbFromTabFromColumns.ItemsSource = Common.ConvertColumsToStringList(this.listOfTable[fc.cmbFromTabFromColumns.SelectedIndex].columns);
                    //    fcm.cmbFromTabJoinColumns.ItemsSource = Common.ConvertColumsToStringList(this.listOfTable[fc.cmbFromTabJoinColumns.SelectedIndex].columns);
                    //}
                    fcm.cmbFromTabFromANDOR.Visibility = System.Windows.Visibility.Visible;
                    List<string> ListOfLogicalOpreator = new List<string> { "And", "Or" };
                    fcm.cmbFromTabFromANDOR.ItemsSource = ListOfLogicalOpreator;
                    fcm.cmbFromTabFromANDOR.SelectedIndex = Common.getIndex((List<string>)fcm.cmbFromTabFromANDOR.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));


                    fcm.cmbFromTabFromColumns.Text = generalClause.FieldName;
                    fcm.cmbFromTabQueryOpretor.SelectedIndex = Common.getIndex((List<string>)fcm.cmbFromTabQueryOpretor.ItemsSource, Common.GetStringValueForEnum("Comparison", generalClause.ComparisonOperator));

                    fcm.cmbFromTabJoinColumns.Text = generalClause.Value.ToString();
                    fc.StackPanelFromTabMore.Children.Add(fcm);




                }

                //int RowNumber1 = 0;
                //foreach (SQLBuilder.Clauses.JoinClause whereClause in queryBuilder.Joins)
                //{
                //    int i = 1;
                //    FromTabStackPanelControlMore fcm = new FromTabStackPanelControlMore();
                //    int innerJoinCount = queryBuilder.Joins[loopCount - 1].JoinCondition.Count;
                //    for (i = 1; i < innerJoinCount;i++)
                //    {
                //        fcm.Name = "Fs2";
                //        fcm.Margin = new Thickness(0, 5, 0, 5);
                //        fcm.btndeletemore.Visibility = System.Windows.Visibility.Visible;
                //        fcm.btndeletemore.Uid = (numberOfStackPanel + 1).ToString();
                //        fcm.btndeletemore.Width = 25.0;
                //    }
                //    string controlType = whereClause.GetType().FullName;
                //    List<string> Collist = (from x in (GenerateListOfSelectTabCntrlColumns(rc))
                //                            select x.Name).ToList<string>();
                //    RowNumber1 = RowNumber1 + 1;
                //    SQLBuilder.Clauses.JoinClause generalClause = (SQLBuilder.Clauses.JoinClause)whereClause;

                //    //FromTabStackPanelControlMore fcm = new FromTabStackPanelControlMore();
                //    //if (RowNumber1 != 1)
                //    //{
                //    //    if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                //    //    {
                //    //        generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                //    //    }
                //    //}
                //    //fcm.cmbFromTabFromANDOR.SelectedIndex = Common.getIndex((List<string>)fcm.cmbFromTabFromANDOR.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                //    if (RowNumber1 == 1)
                //    {
                //        fcm.cmbFromTabFromANDOR.Visibility = System.Windows.Visibility.Hidden;
                //    }
                //    fcm.cmbFromTabFromColumns.ItemsSource = Collist;
                //    fcm.cmbFromTabFromColumns.Text = generalClause.FromColumn.ToString();
                //    fcm.cmbFromTabQueryOpretor.SelectedIndex = Common.getIndex((List<string>)fcm.cmbFromTabQueryOpretor.ItemsSource, Common.GetStringValueForEnum("Comparison", generalClause.ComparisonOperator));
                //    fcm.cmbFromTabJoinColumns.ItemsSource = Collist;
                //    fcm.cmbFromTabJoinColumns.Text = generalClause.ToColumn.ToString();
                //    fc.StackPanelFromTabMore.Children.Add(fcm);
                //    i++;
                //}



                //int RowNumber1 = 0;
                //foreach (SQLBuilder.Clauses.WhereClause whereClause in queryBuilder.Where)
                //{
                //    string controlType = whereClause.GetType().FullName;
                //    List<string> Collist = (from x in (GenerateListOfSelectTabCntrlColumns(rc))
                //                            select x.Name).ToList<string>();
                //    RowNumber1 = RowNumber1 + 1;
                //    SQLBuilder.Clauses.GeneralWhereClause generalClause = (SQLBuilder.Clauses.GeneralWhereClause)whereClause;
                //    FromTabStackPanelControlMore fcm = new FromTabStackPanelControlMore();
                //    if (RowNumber1 != 1)
                //    {
                //        if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                //        {
                //            generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                //        }
                //    }
                //    fcm.cmbFromTabFromANDOR.SelectedIndex = Common.getIndex((List<string>)fcm.cmbFromTabFromANDOR.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                //    if (RowNumber1 == 1)
                //    {
                //        fcm.cmbFromTabFromANDOR.Visibility = System.Windows.Visibility.Hidden;
                //    }
                //    fcm.cmbFromTabFromColumns.ItemsSource = Collist;
                //    fcm.cmbFromTabFromColumns.Text = generalClause.FieldName;
                //    fcm.cmbFromTabQueryOpretor.SelectedIndex = Common.getIndex((List<string>)fcm.cmbFromTabQueryOpretor.ItemsSource, Common.GetStringValueForEnum("Comparison", generalClause.ComparisonOperator));
                //    fcm.cmbFromTabJoinColumns.ItemsSource = Collist;
                //    fcm.cmbFromTabJoinColumns.Text = generalClause.Value.ToString();
                //    fc.StackPanelFromTabMore.Children.Add(fcm);
                //}
            }

            //load select tab
            ColListForSelectTab = GenerateListOfSelectTabCntrlColumns(rc);
            // seting up select Tab's observabla collection _FromSelectedColToCollection
            //ColListForSelectTab.ForEach(x => this.SelectTabUC._FromSelectedColToCollection.Add(x));
            rc.SelectTabCntrl.lstToSelecteColFrom.ItemsSource = ColListForSelectTab;
            //clear old selected columns
            rc.SelectTabCntrl._SelectedColCollection.Clear();
            //load selected Column List and set  _SelectedColCollection observable collection from queryBuilder.SelectedColumns
            //Regex regex = new Regex("(?<X>[.]+).(?<Z>)");// this to check if queryBuilder is not generated from custome query, so if user selects table from Tree view we don't need to show selected columns
            if (queryBuilder.SelectedColumns.Count != 0)
            {
                if (!isGetResultByTreeView)
                {
                    //first we copy  queryBuilder.SelectedColumns from generic list to observable collection
                    queryBuilder.SelectedColumns.ForEach(x => rc.SelectTabCntrl._SelectedColCollection.Add(x));
                    //this.SelectTabUC.lstSelectedCol.ItemsSource = this.SelectTabUC._SelectedColCollection;//queryBuilder.SelectedColumns;
                }
            }

            if (queryBuilder.GroupByColumns.Count > 0)
            {

                //we have Tabluation but we need to find out what type of tabulation we have
                //***
                if (queryBuilder.CrossTabClause._col == null)
                {
                    //we have regular tabulation
                    //clear tabulation
                    rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children.Clear();
                    rc.TabulationTabCntrl.StackPanelTabuLationTabSummary.Children.Clear();
                    //loading groupby
                    List<string> GroupByColumnNameList = new List<string>();
                    foreach (SQLBuilder.Clauses.Column groupByColumn in queryBuilder.GroupByColumns)
                    {
                        if (queryBuilder.OrderByStatement.Count == 0)
                        {
                            //we don't have oreder by
                            TabulationTabStackPanelGroupByControl tg = new TabulationTabStackPanelGroupByControl();
                            tg.cmbTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc);
                            //modified on 11-18-11

                            tg.cmbTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                            tg.txtTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                            //tg.cmbTabulationTabGroupByColumnsName.SelectedIndex = 1;// groupByColumn;
                            // tg.cmbTabulationTabGroupByColumnsName.SelectedItem= groupByColumn;
                            tg.txtTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                            //add Grupby row
                            rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children.Add(tg);
                            GroupByColumnNameList.Add(groupByColumn.Name);
                        }
                        else
                        {
                            //we have orderby
                            foreach (SQLBuilder.Clauses.OrderByClause orderByClause in ((List<SQLBuilder.Clauses.OrderByClause>)queryBuilder.OrderByStatement))
                            {
                                if (groupByColumn.Name == orderByClause.FieldName)
                                {
                                    TabulationTabStackPanelGroupByControl tg = new TabulationTabStackPanelGroupByControl();
                                    tg.cmbTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc);
                                    tg.cmbTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                                    tg.txtTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                                    tg.cmbTabulationSort.Text = Common.GetStringValueForEnum("Sorting", orderByClause.SortOrder);
                                    tg.txtTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                                    //add Grupby row
                                    rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children.Add(tg);
                                    GroupByColumnNameList.Add(groupByColumn.Name);
                                }
                            }
                        }
                    }
                    //we display total 3 rows in Group by secction,  we are going to add missing row
                    int numberOfMissingGroupByRow = 3 - rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children.Count;
                    if (rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingGroupByRow; i++)
                        {
                            rc.TabulationTabCntrl.AddGroupByRow();
                            //loading group by drop down columns to just added group by row
                            ((TabulationTabStackPanelGroupByControl)rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children[rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children.Count - 1]).cmbTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc); ;
                        }

                    }
                    //load summary
                    foreach (SQLBuilder.Clauses.Column summaryColumn in queryBuilder.SummarizeColumns)
                    {
                        //foreach (string colName in GroupByColumnNameList)
                        //{
                        //    if (summaryColumn.Name != colName)
                        //    {
                        if (summaryColumn.Name.Contains("(") & summaryColumn.Name.Contains(")"))
                        {
                            TabulationTabStackPanelSummaryControl ts = new TabulationTabStackPanelSummaryControl();
                            ts.cmbTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc);
                            // first remove ')' from column name then spilt the string by'('
                            string[] summaryArr = summaryColumn.Name.Remove(summaryColumn.Name.Length - 1, 1).Split('(');
                            ts.cmbTabulationTabSummaryColumnsName.Text = summaryArr[1];
                            ts.cmbTabulationTypeOfSummary.SelectedIndex = Common.getIndex((List<string>)ts.cmbTabulationTypeOfSummary.ItemsSource, summaryArr[0]);
                            ts.cmbTabulationTabUserSelectSummaryColFormat.SelectedIndex = Common.getIndex((List<string>)ts.cmbTabulationTabUserSelectSummaryColFormat.ItemsSource, summaryColumn.Format);
                            ts.txtTabulationTabSummaryColFormat.Text = summaryColumn.Format;
                            ts.txtTabulationTabSummaryAlias.Text = summaryColumn.AliasName;
                            rc.TabulationTabCntrl.StackPanelTabuLationTabSummary.Children.Add(ts);
                        }
                        //    }
                        //}
                    }
                    //we display total 6 rows in summary secction, we are going to add missing row
                    int numberOfMissingSummaryRow = 6 - rc.TabulationTabCntrl.StackPanelTabuLationTabGroupBy.Children.Count;
                    if (rc.TabulationTabCntrl.StackPanelTabuLationTabSummary.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingSummaryRow; i++)
                        {
                            rc.TabulationTabCntrl.AddSummaryRow();
                            //loading group by drop down columns to just added group by row
                            ((TabulationTabStackPanelSummaryControl)rc.TabulationTabCntrl.StackPanelTabuLationTabSummary.Children[rc.TabulationTabCntrl.StackPanelTabuLationTabSummary.Children.Count - 1]).cmbTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc); ;
                        }

                    }
                }
                else
                {
                    //we have cross tabulation
                    //clear cross tabulation tab
                    rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children.Clear();    //here
                    rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabSummary.Children.Clear();
                    //loading groupby
                    List<string> GroupByColumnNameList = new List<string>();
                    foreach (SQLBuilder.Clauses.Column groupByColumn in queryBuilder.GroupByColumns)
                    {
                        if (queryBuilder.OrderByStatement.Count == 0)
                        {
                            //we don't have oreder by
                            CrossTabulationTabStackPanelGroupByControl ctg = new CrossTabulationTabStackPanelGroupByControl();
                            ctg.cmbCrossTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc);
                            ctg.cmbCrossTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                            ctg.txtCrossTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                            ctg.txtCrossTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                            //add Grupby row
                            rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children.Add(ctg);
                            GroupByColumnNameList.Add(groupByColumn.Name);
                        }
                        else
                        {
                            //we have orderby
                            foreach (SQLBuilder.Clauses.OrderByClause orderByClause in ((List<SQLBuilder.Clauses.OrderByClause>)queryBuilder.OrderByStatement))
                            {
                                if (groupByColumn.Name == orderByClause.FieldName)
                                {
                                    CrossTabulationTabStackPanelGroupByControl ctg = new CrossTabulationTabStackPanelGroupByControl();
                                    ctg.cmbCrossTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc);
                                    ctg.cmbCrossTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                                    ctg.txtCrossTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                                    ctg.cmbCrossTabulationSort.Text = Common.GetStringValueForEnum("Sorting", orderByClause.SortOrder);
                                    ctg.txtCrossTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                                    //add Grupby row
                                    rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children.Add(ctg);
                                    GroupByColumnNameList.Add(groupByColumn.Name);
                                }
                            }
                        }
                    }
                    //we display total 3 rows in Group by secction,  we are going to add missing row
                    int numberOfMissingGroupByRow = 3 - rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children.Count;
                    if (rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingGroupByRow; i++)
                        {
                            rc.CrossTabulationTabCntrl.AddGroupByRow();
                            //loading group by drop down columns to just added group by row
                            ((CrossTabulationTabStackPanelGroupByControl)rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children[rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children.Count - 1]).cmbCrossTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc); ;
                        }

                    }
                    //load summary
                    foreach (SQLBuilder.Clauses.Column summaryColumn in queryBuilder.SummarizeColumns)
                    {
                        //foreach (string colName in GroupByColumnNameList)
                        //{
                        //    if (summaryColumn.Name != colName)
                        //    {
                        if (summaryColumn.Name.Contains("(") & summaryColumn.Name.Contains(")"))
                        {
                            CrossTabulationTabStackPanelSummaryControl cts = new CrossTabulationTabStackPanelSummaryControl();
                            cts.cmbCrossTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc);
                            // first remove ')' from column name then spilt the string by'('
                            string[] summaryArr = summaryColumn.Name.Remove(summaryColumn.Name.Length - 1, 1).Split('(');
                            cts.cmbCrossTabulationTabSummaryColumnsName.Text = summaryArr[1];
                            cts.txtCrossTabulationTabSummaryColFormat.Text = summaryColumn.Format;
                            cts.cmbCrossTabulationTypeOfSummary.SelectedIndex = Common.getIndex((List<string>)cts.cmbCrossTabulationTypeOfSummary.ItemsSource, summaryArr[0]);
                            cts.cmbCrossTabulationTabUserSelectSummaryColFormat.SelectedIndex = Common.getIndex((List<string>)cts.cmbCrossTabulationTabUserSelectSummaryColFormat.ItemsSource, summaryColumn.Format);
                            cts.txtCrossTabulationTabSummaryColFormat.Text = summaryColumn.Format;
                            cts.txtCrossTabulationTabSummaryAlias.Text = summaryColumn.AliasName;
                            rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabSummary.Children.Add(cts);
                        }
                        //    }
                        //}
                    }
                    //we display total 6 rows in summary secction, we are going to add missing row
                    int numberOfMissingSummaryRow = 6 - rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabGroupBy.Children.Count;
                    if (this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingSummaryRow; i++)
                        {
                            rc.CrossTabulationTabCntrl.AddSummaryRow();
                            //loading group by drop down columns to just added group by row
                            ((CrossTabulationTabStackPanelSummaryControl)rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabSummary.Children[rc.CrossTabulationTabCntrl.StackPanelCrossTabuLationTabSummary.Children.Count - 1]).cmbCrossTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc); ;
                        }

                    }

                    //load summary frist row
                    rc.CrossTabulationTabCntrl.cmbCrossTabulationTabSummaryFirstRowColumnsName.ItemsSource = GenerateListOfTabulationTabCntrlColumns(rc);
                    rc.CrossTabulationTabCntrl.cmbCrossTabulationTabSummaryFirstRowColumnsName.Text = queryBuilder.CrossTabClause.Col.Name;
                    if (queryBuilder.CrossTabClause.SortSet)
                    {
                        rc.CrossTabulationTabCntrl.cmbCrossTabulationTabSummaryFristRowSort.Text = Common.GetStringValueForEnum("Sorting", queryBuilder.CrossTabClause.SortOrder);
                    }

                }
                //********
            }


            int RowNumber = 0;
            //rc.WhereTabCntrl.StackPanelWhereTab.Children.Clear();
            rc.WhereTabCntrl.IsAllDisabled = false;
            rc.WhereTabCntrl.whereborder.Visibility = System.Windows.Visibility.Visible;
            foreach (SQLBuilder.Clauses.WhereClause whereClause in queryBuilder.Where)
            {
                RowNumber = RowNumber + 1;
                // create where Tab row control

                string controlType = whereClause.GetType().FullName;
                //List<string> Collist = (from x in (GenerateListOfTabulationTabCntrlColumns(rc))
                //                        select x.Name).ToList<string>();
                List<string> Collist = (from x in (GenerateListOfSelectTabCntrlColumns(rc))
                                        select x.Name).ToList<string>();
                if (controlType == "SQLBuilder.Clauses.BetweenWhereClause")
                {
                    //between where clause
                    SQLBuilder.Clauses.BetweenWhereClause Betweenclause = (SQLBuilder.Clauses.BetweenWhereClause)whereClause;
                    WhereTabBetweenConditionControl wsb = new WhereTabBetweenConditionControl();
                    if (RowNumber != 1)
                    {
                        if (Common.GetStringValueForEnum("LogicOperator", Betweenclause.LogicalOperator) == "None")
                        {
                            Betweenclause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                        }
                    }
                    wsb.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wsb.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", Betweenclause.LogicalOperator));
                    if (RowNumber == 1)
                    {
                        wsb.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                        wsb.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                    }
                    wsb.cmbWhereTabBetweenColumns.ItemsSource = Collist;// GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns( (List<SelectTabColumn>) this.SelectTabUC.dgSelectTab.ItemsSource);
                    wsb.cmbWhereTabBetweenColumns.Text = Betweenclause.FieldName;
                    //wsb.cmbWhereTabBetweenColumns.SelectedIndex = Common.getIndex((List<string>)wsb.cmbWhereTabBetweenColumns.ItemsSource, Betweenclause.FieldName);
                    wsb.txtBetweenLeftValue.Text = Betweenclause.FromValue;
                    wsb.txtBetweenRightValue.Text = Betweenclause.ToValue;
                    wsb.cmbWhereTabQueryLevel.SelectedIndex = (Betweenclause.Level - 1);
                    rc.WhereTabCntrl.StackPanelWhereTab.Children.Add(wsb);
                }

                else
                {
                    SQLBuilder.Clauses.GeneralWhereClause generalClause = (SQLBuilder.Clauses.GeneralWhereClause)whereClause;

                    if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.In)
                    {
                        //in where clause
                        WhereTabInNotInConditionControl wInNotIn = new WhereTabInNotInConditionControl();
                        if (RowNumber != 1)
                        {
                            if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                            {
                                generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                            }
                        }
                        wInNotIn.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wInNotIn.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                        if (RowNumber == 1)
                        {
                            wInNotIn.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                            wInNotIn.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                        }
                        wInNotIn.cmbWhereTabInNotInColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns( (List<SelectTabColumn>) this.SelectTabUC.dgSelectTab.ItemsSource);
                        wInNotIn.cmbWhereTabInNotInColumns.Text = generalClause.FieldName;
                        wInNotIn.lblInNotIn.Content = "    in"; ;
                        wInNotIn.txtInNotInValue.Text = generalClause.Value.ToString();
                        wInNotIn.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                        rc.WhereTabCntrl.StackPanelWhereTab.Children.Add(wInNotIn);
                    }

                    else if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.NotIn)
                    {
                        //not in where clause
                        WhereTabInNotInConditionControl wInNotIn2 = new WhereTabInNotInConditionControl();
                        if (RowNumber != 1)
                        {
                            if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                            {
                                generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                            }
                        }
                        wInNotIn2.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wInNotIn2.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                        if (RowNumber == 1)
                        {
                            wInNotIn2.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                            wInNotIn2.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                        }
                        wInNotIn2.cmbWhereTabInNotInColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                        wInNotIn2.cmbWhereTabInNotInColumns.Text = generalClause.FieldName;
                        wInNotIn2.lblInNotIn.Content = "not in";
                        wInNotIn2.txtInNotInValue.Text = generalClause.Value.ToString();
                        wInNotIn2.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                        rc.WhereTabCntrl.StackPanelWhereTab.Children.Add(wInNotIn2);
                    }

                    else if (generalClause.Value == null)
                    {

                        if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.Equals)
                        {
                            // is null where clause
                            WhereTabNullNotNullConditionControl wNullNotNull = new WhereTabNullNotNullConditionControl();
                            if (RowNumber != 1)
                            {
                                if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                                {
                                    generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                                }
                            }
                            wNullNotNull.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wNullNotNull.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                            if (RowNumber == 1)
                            {
                                wNullNotNull.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wNullNotNull.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            }
                            wNullNotNull.cmbWhereTabNullNotNullColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                            wNullNotNull.cmbWhereTabNullNotNullColumns.Text = generalClause.FieldName;
                            wNullNotNull.lblNullNotNull.Content = "null";
                            wNullNotNull.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                            rc.WhereTabCntrl.StackPanelWhereTab.Children.Add(wNullNotNull);
                        }

                        else if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.NotEquals)
                        {
                            // is not null where clause
                            WhereTabNullNotNullConditionControl wNullNotNull2 = new WhereTabNullNotNullConditionControl();
                            if (RowNumber != 1)
                            {
                                if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                                {
                                    generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                                }
                            }
                            wNullNotNull2.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wNullNotNull2.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                            if (RowNumber == 1)
                            {
                                wNullNotNull2.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wNullNotNull2.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            }

                            //IEnumerable<Column> columnsWithSameAlias = _SelectedColCollection.Where(x => x.AliasName == compuatedCol.AliasName)

                            wNullNotNull2.cmbWhereTabNullNotNullColumns.ItemsSource = Collist; //GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                            wNullNotNull2.cmbWhereTabNullNotNullColumns.Text = generalClause.FieldName;
                            wNullNotNull2.lblNullNotNull.Content = "not null";
                            wNullNotNull2.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                            rc.WhereTabCntrl.StackPanelWhereTab.Children.Add(wNullNotNull2);
                        }
                    }
                    else
                    {
                        //Regular where clause
                        WhereTabRegularConditionControl ws = new WhereTabRegularConditionControl();
                        if (RowNumber != 1)
                        {
                            if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                            {
                                generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                            }
                        }
                        ws.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                        if (RowNumber == 1)
                        {
                            ws.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                            ws.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                        }
                        ws.cmbWhereTabLeftSideColumns.ItemsSource = Collist;// GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                        ws.cmbWhereTabLeftSideColumns.Text = generalClause.FieldName;
                        ///ws.cmbWhereTabLeftSideColumns.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabLeftSideColumns.ItemsSource, generalClause.FieldName);
                        ws.cmbWhereTabQueryOpretor.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabQueryOpretor.ItemsSource, Common.GetStringValueForEnum("Comparison", generalClause.ComparisonOperator));
                        ws.cmbWhereTabRightSideColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                        ws.cmbWhereTabRightSideColumns.Text = generalClause.Value.ToString();
                        //ws.cmbWhereTabRightSideColumns.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabRightSideColumns.ItemsSource, generalClause.Value.ToString());
                        ws.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                        rc.WhereTabCntrl.StackPanelWhereTab.Children.Add(ws);
                    }
                }
            }
            rc.WhereTabCntrl.cmbWherTabCondition.SelectedIndex = 0;
            //make all tab validated
            rc.FromTabCntrl.isValidated = true;
            rc.FromTabCntrl.lblErrorMessage.Content = "";
            rc.WhereTabCntrl.isValidated = true;
            rc.WhereTabCntrl.lblErrorMessage.Content = "";
            rc.SelectTabCntrl.isValidated = true;
            rc.SelectTabCntrl.lblErrorMessage.Content = "";
            rc.SelectTabCntrl.lstToSelecteColFrom.IsEnabled = true;
            rc.TabulationTabCntrl.lblErrorMessage.Content = "";
            rc.TabulationTabCntrl.isValidated = true;
            rc.CrossTabulationTabCntrl.lblErrorMessage.Content = "";
            rc.CrossTabulationTabCntrl.isValidated = true;
            Mouse.OverrideCursor = null;
            //Clear Action Tab
            this.txtQuery.Text = System.String.Empty;
            count = count + 1;
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            Button btnDelete = (Button)sender;
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWhereTabLeftSideColumns);

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWhereTabLeftSideColumns);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count > 0)
                {
                    DockPanel dkp = (DockPanel)btnDelete.Parent;
                    WhereTabRegularConditionControl fsp = (WhereTabRegularConditionControl)((Grid)((StackPanel)dkp.Parent).Parent).Parent;
                    rvc.WhereTabCntrl.StackPanelWhereTab.Children.Remove(fsp);
                    
                    if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count != 0)
                    {
                        string controlType = rvc.WhereTabCntrl.StackPanelWhereTab.Children[0].GetType().ToString();
                        switch (controlType)
                        {
                            case "FastDB.Control.WhereTabRegularConditionControl":
                                WhereTabRegularConditionControl wr = (WhereTabRegularConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wr.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wr.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                            case "FastDB.Control.WhereTabBetweenConditionControl":
                                WhereTabBetweenConditionControl wb = (WhereTabBetweenConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wb.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wb.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                            case "FastDB.Control.WhereTabInNotInConditionControl":
                                WhereTabInNotInConditionControl wInNotin = (WhereTabInNotInConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wInNotin.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wInNotin.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                            case "FastDB.Control.WhereTabNullNotNullConditionControl":
                                WhereTabNullNotNullConditionControl wNullNotNull = (WhereTabNullNotNullConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                                wNullNotNull.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wNullNotNull.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                                break;
                        }
                    }
                }
                /**********Update Xml Query*********/
                if (mainWindow.ValidateAllTabCntrls(rvc))
                {
                    SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                    if (queryBuilder != null)
                    {
                        queryString = queryBuilder.BuildQuery();
                    }
                    XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                    StringWriter writer = new StringWriter();
                    SerializerObj.Serialize(writer, queryBuilder);
                }
                else
                {
                    
                }
                /************************************/
            }
        }
예제 #49
0
        private void btnRemove_Click(object sender, RoutedEventArgs e)
        {
            if (this._SelectedColCollection.Count == 0)
            {
                this.lblErrorMessage.Content = "Please select column(s)";
            }

            int count = this.lstSelectedCol.SelectedItems.Count;

            for (int i = 0; i < count; i++)
            {
                Column col = (Column)this.lstSelectedCol.SelectedItems[0];
                _SelectedColCollection.Remove(col);
            }
            this.lstToSelecteColFrom.SelectedIndex = -1;
            this.lstSelectedCol.SelectedIndex = -1;

            if (_SelectedColCollection.Count <= 11 && isExpanded == true)
            {
                SelectedColsStackPanel.Width -= 16;
                isExpanded = false;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            /**************************************/
        }
예제 #50
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            for (int i = 0; i < this.lstToSelecteColFrom.SelectedItems.Count; i++)
            {
                Column col = (Column)this.lstToSelecteColFrom.SelectedItems[i];
                //check if alias already exist
                IEnumerable<Column> columnsWithSameAlias = _SelectedColCollection.Where(x => x.AliasName == col.AliasName);
                if (columnsWithSameAlias.Count() == 0)
                {
                    //check if column alreadyexist
                    IEnumerable<Column> columns = _SelectedColCollection.Where(x => x.Name == col.Name & x.AliasName == col.AliasName);
                    if (columns.Count() == 0)
                    {
                        _SelectedColCollection.Add(col);
                    }
                    else
                    {
                        System.Media.SystemSounds.Beep.Play();
                    }
                }
                else
                {
                    System.Media.SystemSounds.Beep.Play();
                }
            }

            if (this.lstToSelecteColFrom.SelectedIndex == -1)
            {
                Column computedCol = new Column();
                computedCol.Name = ComputedColExpTxtBox.Text;
                computedCol.AliasName = "";
                if (ComputedColFormatComboBox.SelectedValue.ToString() != "Select One")
                    computedCol.Format = ComputedColFormatComboBox.SelectedValue.ToString();
                else
                    computedCol.Format = "NO";

                if (computedCol != null)
                {
                    if (computedCol.Name != System.String.Empty & computedCol.AliasName != System.String.Empty)
                    {
                        IEnumerable<Column> columnsWithSameAlias = _SelectedColCollection.Where(x => x.AliasName == computedCol.AliasName);
                        if (columnsWithSameAlias.Count() == 0)
                        {
                            IEnumerable<Column> columns = _SelectedColCollection.Where(x => x.Name == computedCol.Name & x.AliasName == computedCol.AliasName);
                            if (columns.Count() == 0)
                            {
                                _SelectedColCollection.Add(computedCol);
                            }
                            else
                            {
                                System.Media.SystemSounds.Beep.Play();
                            }
                        }
                        else
                        {
                            System.Media.SystemSounds.Beep.Play();
                        }
                    }
                }

            }

            if (_SelectedColCollection.Count > 11 && isExpanded == false)
            {
                SelectedColsStackPanel.Width += 16;
                isExpanded = true;
            }

            this.lstToSelecteColFrom.SelectedIndex = -1;
            this.lstSelectedCol.SelectedIndex = -1;
            if (this._SelectedColCollection.Count > 0)
            {
                this.lblErrorMessage.Content = "";
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /************Update query**************/
            //UpdateXmlQuery();
            /**************************************/

            /*****Update Cross Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            /**************************************/

            /*****************To Enable Save***********/
            //FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            //DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            //if (parent != null)
            //{
            //    ResultViewControl rvc = (ResultViewControl)parent;
            //    string directoryPath = rvc.result.directoryPath;

            //    //MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            //    //SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);

            //    //MainGirdViewControl mainGridView1 = new MainGirdViewControl(queryBuilder, mainWindow.CurrentDatabaseName);
            //    //rvc.result = mainGridView1.result;
            //    rvc.result.isModified = true;
            //    rvc.result.isNew = false;
            //    rvc.result.directoryPath = directoryPath;
            //}
            /********************************************/
        }
예제 #51
0
        /************************************************zahed*****************************************/

        //loads right hand side custom query tabs
        private void LoadAllCustomQueryTabs(SQLBuilder.SelectQueryBuilder queryBuilder, bool isGetResultByTreeView)
        {
            Mouse.OverrideCursor = Cursors.Wait;
            //Clear all tabs
            ClearAllCustomeQueryTabs();
            //make all tab validated

            if (listOfTable != null)
            {
                this.FromTabUC.cmbFromTable.ItemsSource = Common.ConvertTablesToStringList(listOfTable);
            }
            this.FromTabUC.cmbFromTable.SelectedIndex = Common.getIndex((List<string>)this.FromTabUC.cmbFromTable.ItemsSource, queryBuilder.SelectedTables[0].Name);
            this.FromTabUC.txtFromAlias.Text = queryBuilder.SelectedTables[0].AliasName;
            foreach (SQLBuilder.Clauses.JoinClause JoinClasue in queryBuilder.Joins)
            {
                // create join row control
                FromTabStackPanelControl fc = new FromTabStackPanelControl();
                if (this.listOfTable != null & this.listOfTable.Count > 0)
                {
                    fc.cmbFromTabJoinTable.ItemsSource = Common.ConvertTablesToStringList(this.listOfTable);
                    fc.cmbFromTabFromColumns.ItemsSource = Common.ConvertColumsToStringList(this.listOfTable[this.FromTabUC.cmbFromTable.SelectedIndex].columns);
                }
                fc.cmbFromTabJoinType.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabJoinType.ItemsSource, JoinClasue.JoinType.ToString());
                fc.cmbFromTabJoinTable.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabJoinTable.ItemsSource, JoinClasue.ToTable.Name);
                //fc.cmbFromTabJoinTable.Text = JoinClasue.ToTable.Name;
                fc.txtJoinTableAlias.Text = JoinClasue.ToTable.AliasName;
                fc.cmbFromTabFromColumns.Text = JoinClasue.FromColumn.ToString();
                //fc.cmbFromTabFromColumns.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabFromColumns.ItemsSource, JoinClasue.FromColumn.ToString());
                fc.cmbFromTabQueryOpretor.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabQueryOpretor.ItemsSource, JoinClasue.ComparisonOperator.ToString());
                //fc.cmbFromTabJoinColumns.ItemsSource = Common.ConvertColumsToStringList(this.listOfTable[fc.cmbFromTabJoinTable.SelectedIndex].columns);
                fc.cmbFromTabJoinColumns.Text = JoinClasue.ToColumn.ToString();
                //fc.cmbFromTabJoinColumns.SelectedIndex = Common.getIndex((List<string>)fc.cmbFromTabJoinColumns.ItemsSource, JoinClasue.ToColumn.ToString());
                this.FromTabUC.StackPanelFromTab.Children.Add(fc);
            }


            //load select tab
            List<SQLBuilder.Clauses.Column> ColListForSelectTab = GenerateListOfSelectTabColumns();
            // seting up select Tab's observabla collection _FromSelectedColToCollection
            //ColListForSelectTab.ForEach(x => this.SelectTabUC._FromSelectedColToCollection.Add(x));
            this.SelectTabUC.lstToSelecteColFrom.ItemsSource = ColListForSelectTab;

            //clear old selected columns
            this.SelectTabUC._SelectedColCollection.Clear();
            //load selected Column List and set  _SelectedColCollection observable collection from queryBuilder.SelectedColumns
            //Regex regex = new Regex("(?<X>[.]+).(?<Z>)");// this to check if queryBuilder is not generated from custome query, so if user selects table from Tree view we don't need to show selected columns
            if (queryBuilder.SelectedColumns.Count != 0)
            {
                if (!isGetResultByTreeView)
                {
                    //first we copy  queryBuilder.SelectedColumns from generic list to observable collection
                    queryBuilder.SelectedColumns.ForEach(x => this.SelectTabUC._SelectedColCollection.Add(x));
                    //this.SelectTabUC.lstSelectedCol.ItemsSource = this.SelectTabUC._SelectedColCollection;//queryBuilder.SelectedColumns;
                }
            }

            //load select tab or tabulation tab 
            if (queryBuilder.GroupByColumns.Count > 0)
            {

                //we have Tabluation but we need to find out what type of tabulation we have
                //***
                if (queryBuilder.CrossTabClause._col == null)
                {
                    //we have regular tabulation
                    //clear tabulation
                    this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Clear();
                    this.TabulationTabUC.StackPanelTabuLationTabSummary.Children.Clear();
                    //loading groupby
                    List<string> GroupByColumnNameList = new List<string>();
                    foreach (SQLBuilder.Clauses.Column groupByColumn in queryBuilder.GroupByColumns)
                    {
                        if (queryBuilder.OrderByStatement.Count == 0)
                        {
                            //we don't have oreder by
                            TabulationTabStackPanelGroupByControl tg = new TabulationTabStackPanelGroupByControl();
                            tg.cmbTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                            //modified on 11-18-11

                            tg.cmbTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                            tg.txtTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                            //tg.cmbTabulationTabGroupByColumnsName.SelectedIndex = 1;// groupByColumn;
                            // tg.cmbTabulationTabGroupByColumnsName.SelectedItem= groupByColumn;
                            tg.txtTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                            //add Grupby row
                            this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Add(tg);
                            GroupByColumnNameList.Add(groupByColumn.Name);
                        }
                        else
                        {
                            //we have orderby
                            foreach (SQLBuilder.Clauses.OrderByClause orderByClause in ((List<SQLBuilder.Clauses.OrderByClause>)queryBuilder.OrderByStatement))
                            {
                                if (groupByColumn.Name == orderByClause.FieldName)
                                {
                                    TabulationTabStackPanelGroupByControl tg = new TabulationTabStackPanelGroupByControl();
                                    tg.cmbTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                                    tg.cmbTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                                    tg.txtTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                                    tg.cmbTabulationSort.Text = Common.GetStringValueForEnum("Sorting", orderByClause.SortOrder);
                                    tg.txtTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                                    //add Grupby row
                                    this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Add(tg);
                                    GroupByColumnNameList.Add(groupByColumn.Name);
                                }
                            }
                        }
                    }
                    //we display total 3 rows in Group by secction,  we are going to add missing row
                    int numberOfMissingGroupByRow = 3 - this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Count;
                    if (this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingGroupByRow; i++)
                        {
                            this.TabulationTabUC.AddGroupByRow();
                            //loading group by drop down columns to just added group by row
                            ((TabulationTabStackPanelGroupByControl)this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children[this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Count - 1]).cmbTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns(); ;
                        }

                    }
                    //load summary
                    foreach (SQLBuilder.Clauses.Column summaryColumn in queryBuilder.SelectedColumns)
                    {
                        //foreach (string colName in GroupByColumnNameList)
                        //{
                        //    if (summaryColumn.Name != colName)
                        //    {
                        if (summaryColumn.Name.Contains("(") & summaryColumn.Name.Contains(")"))
                        {
                            TabulationTabStackPanelSummaryControl ts = new TabulationTabStackPanelSummaryControl();
                            ts.cmbTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                            // first remove ')' from column name then spilt the string by'('
                            string[] summaryArr = summaryColumn.Name.Remove(summaryColumn.Name.Length - 1, 1).Split('(');
                            ts.cmbTabulationTabSummaryColumnsName.Text = summaryArr[1];
                            ts.cmbTabulationTypeOfSummary.SelectedIndex = Common.getIndex((List<string>)ts.cmbTabulationTypeOfSummary.ItemsSource, summaryArr[0]);
                            ts.cmbTabulationTabUserSelectSummaryColFormat.SelectedIndex = Common.getIndex((List<string>)ts.cmbTabulationTabUserSelectSummaryColFormat.ItemsSource, summaryColumn.Format);
                            ts.txtTabulationTabSummaryColFormat.Text = summaryColumn.Format;
                            ts.txtTabulationTabSummaryAlias.Text = summaryColumn.AliasName;
                            this.TabulationTabUC.StackPanelTabuLationTabSummary.Children.Add(ts);
                        }
                        //    }
                        //}
                    }
                    //we display total 6 rows in summary secction, we are going to add missing row
                    int numberOfMissingSummaryRow = 6 - this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Count;
                    if (this.TabulationTabUC.StackPanelTabuLationTabSummary.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingSummaryRow; i++)
                        {
                            this.TabulationTabUC.AddSummaryRow();
                            //loading group by drop down columns to just added group by row
                            ((TabulationTabStackPanelSummaryControl)this.TabulationTabUC.StackPanelTabuLationTabSummary.Children[this.TabulationTabUC.StackPanelTabuLationTabSummary.Children.Count - 1]).cmbTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabColumns(); ;
                        }

                    }
                }
                else
                {
                    //we have cross tabulation
                    //clear cross tabulation tab
                    this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Clear();
                    this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children.Clear();
                    //loading groupby
                    List<string> GroupByColumnNameList = new List<string>();
                    foreach (SQLBuilder.Clauses.Column groupByColumn in queryBuilder.GroupByColumns)
                    {
                        if (queryBuilder.OrderByStatement.Count == 0)
                        {
                            //we don't have oreder by
                            CrossTabulationTabStackPanelGroupByControl ctg = new CrossTabulationTabStackPanelGroupByControl();
                            ctg.cmbCrossTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                            ctg.cmbCrossTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                            ctg.txtCrossTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                            ctg.txtCrossTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                            //add Grupby row
                            this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Add(ctg);
                            GroupByColumnNameList.Add(groupByColumn.Name);
                        }
                        else
                        {
                            //we have orderby
                            foreach (SQLBuilder.Clauses.OrderByClause orderByClause in ((List<SQLBuilder.Clauses.OrderByClause>)queryBuilder.OrderByStatement))
                            {
                                if (groupByColumn.Name == orderByClause.FieldName)
                                {
                                    CrossTabulationTabStackPanelGroupByControl ctg = new CrossTabulationTabStackPanelGroupByControl();
                                    ctg.cmbCrossTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                                    ctg.cmbCrossTabulationTabGroupByColumnsName.Text = groupByColumn.Name;
                                    ctg.txtCrossTabulationTabGroupByColFormat.Text = groupByColumn.Format;
                                    ctg.cmbCrossTabulationSort.Text = Common.GetStringValueForEnum("Sorting", orderByClause.SortOrder);
                                    ctg.txtCrossTabulationTabGroupByAlias.Text = groupByColumn.AliasName;
                                    //add Grupby row
                                    this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Add(ctg);
                                    GroupByColumnNameList.Add(groupByColumn.Name);
                                }
                            }
                        }
                    }
                    //we display total 3 rows in Group by secction,  we are going to add missing row
                    int numberOfMissingGroupByRow = 3 - this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Count;
                    if (this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingGroupByRow; i++)
                        {
                            this.CrossTabulationTabUC.AddGroupByRow();
                            //loading group by drop down columns to just added group by row
                            ((CrossTabulationTabStackPanelGroupByControl)this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children[this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Count - 1]).cmbCrossTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns(); ;
                        }

                    }
                    //load summary
                    foreach (SQLBuilder.Clauses.Column summaryColumn in queryBuilder.SelectedColumns)
                    {
                        //foreach (string colName in GroupByColumnNameList)
                        //{
                        //    if (summaryColumn.Name != colName)
                        //    {
                        if (summaryColumn.Name.Contains("(") & summaryColumn.Name.Contains(")"))
                        {
                            CrossTabulationTabStackPanelSummaryControl cts = new CrossTabulationTabStackPanelSummaryControl();
                            cts.cmbCrossTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                            // first remove ')' from column name then spilt the string by'('
                            string[] summaryArr = summaryColumn.Name.Remove(summaryColumn.Name.Length - 1, 1).Split('(');
                            cts.cmbCrossTabulationTabSummaryColumnsName.Text = summaryArr[1];
                            cts.txtCrossTabulationTabSummaryColFormat.Text = summaryColumn.Format;
                            cts.cmbCrossTabulationTypeOfSummary.SelectedIndex = Common.getIndex((List<string>)cts.cmbCrossTabulationTypeOfSummary.ItemsSource, summaryArr[0]);
                            cts.cmbCrossTabulationTabUserSelectSummaryColFormat.SelectedIndex = Common.getIndex((List<string>)cts.cmbCrossTabulationTabUserSelectSummaryColFormat.ItemsSource, summaryColumn.Format);
                            cts.txtCrossTabulationTabSummaryColFormat.Text = summaryColumn.Format;
                            cts.txtCrossTabulationTabSummaryAlias.Text = summaryColumn.AliasName;
                            this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children.Add(cts);
                        }
                        //    }
                        //}
                    }
                    //we display total 6 rows in summary secction, we are going to add missing row
                    int numberOfMissingSummaryRow = 6 - this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Count;
                    if (this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children.Count != 0)
                    {
                        for (int i = 0; i < numberOfMissingSummaryRow; i++)
                        {
                            this.CrossTabulationTabUC.AddSummaryRow();
                            //loading group by drop down columns to just added group by row
                            ((CrossTabulationTabStackPanelSummaryControl)this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children[this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children.Count - 1]).cmbCrossTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabColumns(); ;
                        }

                    }

                    //load summary frist row
                    this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFirstRowColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                    this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFirstRowColumnsName.Text = queryBuilder.CrossTabClause.Col.Name;
                    if (queryBuilder.CrossTabClause.SortSet)
                    {
                        this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFristRowSort.Text = Common.GetStringValueForEnum("Sorting", queryBuilder.CrossTabClause.SortOrder);
                    }

                }
                //********
            }
            else
            {
                //we have select
                //clear old regular tabulation
                //clear group by rows
                for (int i = 0; i < this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children.Count; i++)
                {
                    TabulationTabStackPanelGroupByControl tg = (TabulationTabStackPanelGroupByControl)this.TabulationTabUC.StackPanelTabuLationTabGroupBy.Children[i];
                    tg.cmbTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                    tg.cmbTabulationTabGroupByColumnsName.SelectedIndex = -1;
                    tg.cmbTabulationSort.SelectedIndex = -1;
                    tg.txtTabulationTabGroupByAlias.Text = System.String.Empty;
                }
                //clear summary rows
                for (int i = 0; i < this.TabulationTabUC.StackPanelTabuLationTabSummary.Children.Count; i++)
                {
                    TabulationTabStackPanelSummaryControl ts = (TabulationTabStackPanelSummaryControl)this.TabulationTabUC.StackPanelTabuLationTabSummary.Children[i];
                    ts.cmbTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                    ts.cmbTabulationTabSummaryColumnsName.SelectedIndex = -1;
                    ts.cmbTabulationTypeOfSummary.SelectedIndex = -1;
                    ts.cmbTabulationTabUserSelectSummaryColFormat.SelectedIndex = -1;
                    ts.txtTabulationTabSummaryColFormat.Text = System.String.Empty;
                    ts.txtTabulationTabSummaryAlias.Text = System.String.Empty;

                }
                //clear old Cross tabulation
                //clear group by rows
                for (int i = 0; i < this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children.Count; i++)
                {
                    CrossTabulationTabStackPanelGroupByControl ctg = (CrossTabulationTabStackPanelGroupByControl)this.CrossTabulationTabUC.StackPanelCrossTabuLationTabGroupBy.Children[i];
                    ctg.cmbCrossTabulationTabGroupByColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                    ctg.cmbCrossTabulationTabGroupByColumnsName.SelectedIndex = -1;
                    ctg.cmbCrossTabulationSort.SelectedIndex = -1;
                    ctg.txtCrossTabulationTabGroupByAlias.Text = System.String.Empty;
                }
                //clear summary rows
                for (int i = 0; i < this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children.Count; i++)
                {
                    CrossTabulationTabStackPanelSummaryControl cts = (CrossTabulationTabStackPanelSummaryControl)this.CrossTabulationTabUC.StackPanelCrossTabuLationTabSummary.Children[i];
                    cts.cmbCrossTabulationTabSummaryColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                    cts.cmbCrossTabulationTabSummaryColumnsName.SelectedIndex = -1;
                    cts.cmbCrossTabulationTypeOfSummary.SelectedIndex = -1;
                    cts.cmbCrossTabulationTabUserSelectSummaryColFormat.SelectedIndex = -1;
                    cts.txtCrossTabulationTabSummaryColFormat.Text = System.String.Empty;
                    cts.txtCrossTabulationTabSummaryAlias.Text = System.String.Empty;

                }
                // clear summary frist row
                this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFirstRowColumnsName.ItemsSource = GenerateListOfTabulationTabColumns();
                this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFirstRowColumnsName.SelectedIndex = -1;
                this.CrossTabulationTabUC.cmbCrossTabulationTabSummaryFristRowSort.SelectedIndex = -1;

                //load select tab
                List<SQLBuilder.Clauses.Column> colListForSelectTab = GenerateListOfSelectTabColumns();
                // seting up select Tab's observabla collection _FromSelectedColToCollection
                //ColListForSelectTab.ForEach(x => this.SelectTabUC._FromSelectedColToCollection.Add(x));
                this.SelectTabUC.lstToSelecteColFrom.ItemsSource = colListForSelectTab;


                //clear old selected columns
                this.SelectTabUC._SelectedColCollection.Clear();
                //load selected Column List and set  _SelectedColCollection observable collection from queryBuilder.SelectedColumns
                //Regex regex = new Regex("(?<X>[.]+).(?<Z>)");// this to check if queryBuilder is not generated from custome query, so if user selects table from Tree view we don't need to show selected columns
                if (queryBuilder.SelectedColumns.Count != 0)
                {
                    if (!isGetResultByTreeView)
                    {
                        //first we copy  queryBuilder.SelectedColumns from generic list to observable collection
                        queryBuilder.SelectedColumns.ForEach(x => this.SelectTabUC._SelectedColCollection.Add(x));
                        //this.SelectTabUC.lstSelectedCol.ItemsSource = this.SelectTabUC._SelectedColCollection;//queryBuilder.SelectedColumns;
                    }
                }
            }

            //load where tab
            int RowNumber = 0;
            foreach (SQLBuilder.Clauses.WhereClause whereClause in queryBuilder.Where)
            {
                RowNumber = RowNumber + 1;
                // create where Tab row control

                string controlType = whereClause.GetType().FullName;
                //List<string> Collist = (from x in (GenerateListOfTabulationTabColumns())
                //                        select x.Name).ToList<string>();
                List<string> Collist = (from x in (GenerateListOfSelectTabColumns())
                                        select x.Name).ToList<string>();
                if (controlType == "SQLBuilder.Clauses.BetweenWhereClause")
                {
                    //between where clause
                    SQLBuilder.Clauses.BetweenWhereClause Betweenclause = (SQLBuilder.Clauses.BetweenWhereClause)whereClause;
                    WhereTabBetweenConditionControl wsb = new WhereTabBetweenConditionControl();
                    if (RowNumber != 1)
                    {
                        if (Common.GetStringValueForEnum("LogicOperator", Betweenclause.LogicalOperator) == "None")
                        {
                            Betweenclause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                        }
                    }
                    wsb.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wsb.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", Betweenclause.LogicalOperator));
                    if (RowNumber == 1)
                    {
                        wsb.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                        wsb.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                    }
                    wsb.cmbWhereTabBetweenColumns.ItemsSource = Collist;// GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns( (List<SelectTabColumn>) this.SelectTabUC.dgSelectTab.ItemsSource);
                    wsb.cmbWhereTabBetweenColumns.Text = Betweenclause.FieldName;
                    //wsb.cmbWhereTabBetweenColumns.SelectedIndex = Common.getIndex((List<string>)wsb.cmbWhereTabBetweenColumns.ItemsSource, Betweenclause.FieldName);
                    wsb.txtBetweenLeftValue.Text = Betweenclause.FromValue;
                    wsb.txtBetweenRightValue.Text = Betweenclause.ToValue;
                    wsb.cmbWhereTabQueryLevel.SelectedIndex = (Betweenclause.Level - 1);
                    this.WhereTabUC.StackPanelWhereTab.Children.Add(wsb);
                }

                else
                {
                    SQLBuilder.Clauses.GeneralWhereClause generalClause = (SQLBuilder.Clauses.GeneralWhereClause)whereClause;

                    if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.In)
                    {
                        //in where clause
                        WhereTabInNotInConditionControl wInNotIn = new WhereTabInNotInConditionControl();
                        if (RowNumber != 1)
                        {
                            if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                            {
                                generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                            }
                        }
                        wInNotIn.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wInNotIn.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                        if (RowNumber == 1)
                        {
                            wInNotIn.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                            wInNotIn.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                        }
                        wInNotIn.cmbWhereTabInNotInColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns( (List<SelectTabColumn>) this.SelectTabUC.dgSelectTab.ItemsSource);
                        wInNotIn.cmbWhereTabInNotInColumns.Text = generalClause.FieldName;
                        wInNotIn.lblInNotIn.Content = "    in"; ;
                        wInNotIn.txtInNotInValue.Text = generalClause.Value.ToString();
                        wInNotIn.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                        this.WhereTabUC.StackPanelWhereTab.Children.Add(wInNotIn);
                    }

                    else if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.NotIn)
                    {
                        //not in where clause
                        WhereTabInNotInConditionControl wInNotIn2 = new WhereTabInNotInConditionControl();
                        if (RowNumber != 1)
                        {
                            if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                            {
                                generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                            }
                        }
                        wInNotIn2.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wInNotIn2.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                        if (RowNumber == 1)
                        {
                            wInNotIn2.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                            wInNotIn2.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                        }
                        wInNotIn2.cmbWhereTabInNotInColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                        wInNotIn2.cmbWhereTabInNotInColumns.Text = generalClause.FieldName;
                        wInNotIn2.lblInNotIn.Content = "not in";
                        wInNotIn2.txtInNotInValue.Text = generalClause.Value.ToString();
                        wInNotIn2.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                        this.WhereTabUC.StackPanelWhereTab.Children.Add(wInNotIn2);
                    }

                    else if (generalClause.Value == null)
                    {

                        if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.Equals)
                        {
                            // is null where clause
                            WhereTabNullNotNullConditionControl wNullNotNull = new WhereTabNullNotNullConditionControl();
                            if (RowNumber != 1)
                            {
                                if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                                {
                                    generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                                }
                            }
                            wNullNotNull.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wNullNotNull.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                            if (RowNumber == 1)
                            {
                                wNullNotNull.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wNullNotNull.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            }
                            wNullNotNull.cmbWhereTabNullNotNullColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                            wNullNotNull.cmbWhereTabNullNotNullColumns.Text = generalClause.FieldName;
                            wNullNotNull.lblNullNotNull.Content = "null";
                            wNullNotNull.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                            this.WhereTabUC.StackPanelWhereTab.Children.Add(wNullNotNull);
                        }

                        else if (generalClause.ComparisonOperator == SQLBuilder.Enums.Comparison.NotEquals)
                        {
                            // is not null where clause
                            WhereTabNullNotNullConditionControl wNullNotNull2 = new WhereTabNullNotNullConditionControl();
                            if (RowNumber != 1)
                            {
                                if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                                {
                                    generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                                }
                            }
                            wNullNotNull2.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)wNullNotNull2.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                            if (RowNumber == 1)
                            {
                                wNullNotNull2.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                                wNullNotNull2.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            }

                            //IEnumerable<Column> columnsWithSameAlias = _SelectedColCollection.Where(x => x.AliasName == compuatedCol.AliasName)

                            wNullNotNull2.cmbWhereTabNullNotNullColumns.ItemsSource = Collist; //GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                            wNullNotNull2.cmbWhereTabNullNotNullColumns.Text = generalClause.FieldName;
                            wNullNotNull2.lblNullNotNull.Content = "not null";
                            wNullNotNull2.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                            this.WhereTabUC.StackPanelWhereTab.Children.Add(wNullNotNull2);
                        }
                    }
                    else
                    {
                        //Regular where clause
                        WhereTabRegularConditionControl ws = new WhereTabRegularConditionControl();
                        if (RowNumber != 1)
                        {
                            if (Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator) == "None")
                            {
                                generalClause.LogicalOperator = SQLBuilder.Enums.LogicOperator.And;
                            }
                        }
                        ws.cmbWhereTabQueryAndOr.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabQueryAndOr.ItemsSource, Common.GetStringValueForEnum("LogicOperator", generalClause.LogicalOperator));
                        if (RowNumber == 1)
                        {
                            ws.lblLogicalOpreator.Visibility = System.Windows.Visibility.Hidden;
                            ws.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                        }
                        ws.cmbWhereTabLeftSideColumns.ItemsSource = Collist;// GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                        ws.cmbWhereTabLeftSideColumns.Text = generalClause.FieldName;
                        ///ws.cmbWhereTabLeftSideColumns.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabLeftSideColumns.ItemsSource, generalClause.FieldName);
                        ws.cmbWhereTabQueryOpretor.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabQueryOpretor.ItemsSource, Common.GetStringValueForEnum("Comparison", generalClause.ComparisonOperator));
                        ws.cmbWhereTabRightSideColumns.ItemsSource = Collist;//GenerateListOfTabulationTabColumns();//Common.GetWhereClauseDropDownColumns((List<SelectTabColumn>)this.SelectTabUC.dgSelectTab.ItemsSource);
                        ws.cmbWhereTabRightSideColumns.Text = generalClause.Value.ToString();
                        //ws.cmbWhereTabRightSideColumns.SelectedIndex = Common.getIndex((List<string>)ws.cmbWhereTabRightSideColumns.ItemsSource, generalClause.Value.ToString());
                        ws.cmbWhereTabQueryLevel.SelectedIndex = (generalClause.Level - 1);
                        this.WhereTabUC.StackPanelWhereTab.Children.Add(ws);
                    }
                }
            }
            this.WhereTabUC.cmbWherTabCondition.SelectedIndex = 0;
            //make all tab validated
            this.FromTabUC.isValidated = true;
            this.FromTabUC.lblErrorMessage.Content = "";
            this.WhereTabUC.isValidated = true;
            this.WhereTabUC.lblErrorMessage.Content = "";
            this.SelectTabUC.isValidated = true;
            this.SelectTabUC.lblErrorMessage.Content = "";
            this.SelectTabUC.lstToSelecteColFrom.IsEnabled = true;
            this.TabulationTabUC.lblErrorMessage.Content = "";
            this.TabulationTabUC.isValidated = true;
            this.CrossTabulationTabUC.lblErrorMessage.Content = "";
            this.CrossTabulationTabUC.isValidated = true;
            Mouse.OverrideCursor = null;
            //Clear Action Tab
            this.txtQuery.Text = System.String.Empty;
        }
예제 #52
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            whereborder.Visibility = System.Windows.Visibility.Visible;
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWherTabCondition);

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.FromTabCntrl.isValidated)
                {
                    this.lblErrorMessage.Content = "";

                    //validate before adding stack panel row
                    Validate();
                    //** Check for AllDisabled
                    SetIsAllDisabled();
                    //***Add condition control
                    if (this.cmbWherTabCondition.SelectedIndex != -1)
                    {
                        switch (this.cmbWherTabCondition.Text)
                        {
                            case "Regular":
                                AddRegularConditionRow();
                                break;
                            case "Between":
                                AddBetweenConditionRow();
                                break;
                            case "In":
                                AddInNotInConditionRow();
                                break;
                            case "Not In":
                                AddInNotInConditionRow();
                                break;
                            case "Null":
                                AddNullNotNullConditionRow();
                                break;
                            case "Not Null":
                                AddNullNotNullConditionRow();
                                break;
                        }
                    }
                    Size size = new Size(1200, 500);
                }
                else
                {
                    this.lblErrorMessage.Content = "********There is an error on From Tab**********";
                    rvc.lblXmlQueryTabErrorMessage.Content = "There is an error in one of Tabs";
                }
            }
        }
예제 #53
0
        private void StackPanelWhereTab_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.CustomQueryAccordion.LayoutChildren(true);
            }
        }
예제 #54
0
        private void lstToSelecteColFrom_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var col = ((FrameworkElement)e.OriginalSource).DataContext as Column;
            if (col != null)
            {
                IEnumerable<Column> columns = _SelectedColCollection.Where(x => x.Name == col.Name && x.AliasName == col.AliasName);
                if (columns.Count() == 0)
                {
                    IEnumerable<Column> columnsWithSameAlias = _SelectedColCollection.Where(x => x.AliasName == col.AliasName);
                    if (columnsWithSameAlias.Count() == 0)
                    {
                        _SelectedColCollection.Add(col);
                    }
                    else
                    {
                        MessageBox.Show("Duplicate Alias");
                    }
                }
                else
                {
                    MessageBox.Show("Duplicate Column");
                }
                this.lstToSelecteColFrom.SelectedIndex = -1;
            }

            if (_SelectedColCollection.Count > 11 && isExpanded == false)
            {
                SelectedColsStackPanel.Width += 16;
                isExpanded = true;
            }

            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            
        }
예제 #55
0
        private void DockPanel_GotFocus(object sender, RoutedEventArgs e)
        {
            bool isEqual = true;
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWherTabCondition);

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.cmbWherTabCondition);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.FromTabCntrl.isValidated)
                {
                    for (int i = 0; i < this.StackPanelWhereTab.Children.Count; i++)
                    {
                        string controlType = this.StackPanelWhereTab.Children[i].GetType().ToString();
                        switch (controlType)
                        {
                            case "FastDB.Control.WhereTabRegularConditionControl":
                                WhereTabRegularConditionControl ws = (WhereTabRegularConditionControl)this.StackPanelWhereTab.Children[i];
                                List<string> listofRegCol = GetColumnsFromAllFromTabTable();
                                isEqual = (listofRegCol.SequenceEqual((List<string>)ws.cmbWhereTabLeftSideColumns.ItemsSource));
                                if (isEqual == false)
                                {
                                    ReLoadColumnComboBox(ws);
                                }
                                break;
                            case "FastDB.Control.WhereTabBetweenConditionControl":
                                WhereTabBetweenConditionControl wsb = (WhereTabBetweenConditionControl)this.StackPanelWhereTab.Children[i];
                                isEqual = (GetColumnsFromAllFromTabTable().SequenceEqual((List<string>)wsb.cmbWhereTabBetweenColumns.ItemsSource));
                                if (isEqual == false)
                                {
                                    ReLoadColumnComboBox(wsb);
                                }
                                break;
                            case "FastDB.Control.WhereTabInNotInConditionControl":
                                WhereTabInNotInConditionControl wInNotIn = (WhereTabInNotInConditionControl)this.StackPanelWhereTab.Children[i];
                                isEqual = (GetColumnsFromAllFromTabTable().SequenceEqual((List<string>)wInNotIn.cmbWhereTabInNotInColumns.ItemsSource));
                                if (isEqual == false)
                                {
                                    ReLoadColumnComboBox(wInNotIn);
                                }
                                break;
                            case "FastDB.Control.WhereTabNullNotNullConditionControl":
                                WhereTabNullNotNullConditionControl wNullNotNull = (WhereTabNullNotNullConditionControl)this.StackPanelWhereTab.Children[i];
                                isEqual = (GetColumnsFromAllFromTabTable().SequenceEqual((List<string>)wNullNotNull.cmbWhereTabNullNotNullColumns.ItemsSource));
                                if (isEqual == false)
                                {
                                    ReLoadColumnComboBox(wNullNotNull);
                                }
                                break;
                        }


                    }
                }
                else
                {
                    this.lblErrorMessage.Content = "********There is an error on From Tab**********";
                    SetWhereTabRowControlDisabled();
                }
            }
        }
예제 #56
0
        private void RemoveAllBtn_Click(object sender, RoutedEventArgs e)
        {
            _SelectedColCollection.Clear();
            if (_SelectedColCollection.Count <= 11 && isExpanded == true)
            {
                SelectedColsStackPanel.Width -= 16;
                isExpanded = false;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation and Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            /**************************************/
        }
예제 #57
0
        private void lstSelectedCol_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var col = ((FrameworkElement)e.OriginalSource).DataContext as Column;

            if (col != null)
            {
                _SelectedColCollection.Remove(col);
            }

            if (_SelectedColCollection.Count <= 11 && isExpanded == true)
            {
                SelectedColsStackPanel.Width -= 16;
                isExpanded = false;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstSelectedCol);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                rvc.UpdateTabulationTabCntrl(mainWindow);
            }
            /**************************************/
        }
예제 #58
0
        private List<string> GetColumnsFromAllFromTabTable()
        {
            List<string> list = new List<string>();
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.ComputedColFormatComboBox);
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.ComputedColFormatComboBox);  //get resultview control containing cmbWherTabCondition

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                //get the From table columns 
                if (mainWindow.listOfTable != null & mainWindow.listOfTable.Count > 0)
                {
                    List<string> fc = GetFromTableColums(mainWindow.listOfTable[rvc.FromTabCntrl.cmbFromTable.SelectedIndex].columns, rvc.FromTabCntrl.txtFromAlias.Text);

                    if (fc != null)
                    {
                        list.AddRange(fc);
                    }
                }

            }
            return list;
        }
예제 #59
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            Button     btnDelete  = (Button)sender;
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.cmbWhereTabLeftSideColumns);

            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject         parent = fromTabStackPanelCntrl.GetRVC(this.cmbWhereTabLeftSideColumns);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;

                if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count > 0)
                {
                    DockPanel dkp = (DockPanel)btnDelete.Parent;
                    WhereTabRegularConditionControl fsp = (WhereTabRegularConditionControl)((Grid)((StackPanel)dkp.Parent).Parent).Parent;
                    rvc.WhereTabCntrl.StackPanelWhereTab.Children.Remove(fsp);

                    if (rvc.WhereTabCntrl.StackPanelWhereTab.Children.Count != 0)
                    {
                        string controlType = rvc.WhereTabCntrl.StackPanelWhereTab.Children[0].GetType().ToString();
                        switch (controlType)
                        {
                        case "FastDB.Control.WhereTabRegularConditionControl":
                            WhereTabRegularConditionControl wr = (WhereTabRegularConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wr.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wr.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;

                        case "FastDB.Control.WhereTabBetweenConditionControl":
                            WhereTabBetweenConditionControl wb = (WhereTabBetweenConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wb.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wb.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;

                        case "FastDB.Control.WhereTabInNotInConditionControl":
                            WhereTabInNotInConditionControl wInNotin = (WhereTabInNotInConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wInNotin.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wInNotin.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;

                        case "FastDB.Control.WhereTabNullNotNullConditionControl":
                            WhereTabNullNotNullConditionControl wNullNotNull = (WhereTabNullNotNullConditionControl)(rvc.WhereTabCntrl.StackPanelWhereTab.Children[0]);
                            wNullNotNull.lblLogicalOpreator.Visibility    = System.Windows.Visibility.Hidden;
                            wNullNotNull.cmbWhereTabQueryAndOr.Visibility = System.Windows.Visibility.Hidden;
                            break;
                        }
                    }
                }
                /**********Update Xml Query*********/
                if (mainWindow.ValidateAllTabCntrls(rvc))
                {
                    SelectQueryBuilder queryBuilder = mainWindow.LoadSelectQueryBuilderNew(rvc);
                    if (queryBuilder != null)
                    {
                        queryString = queryBuilder.BuildQuery();
                    }
                    XmlSerializer SerializerObj = new XmlSerializer(typeof(SelectQueryBuilder));
                    StringWriter  writer        = new StringWriter();
                    SerializerObj.Serialize(writer, queryBuilder);
                }
                else
                {
                }
                /************************************/
            }
        }
예제 #60
0
        private void AddAllBtn_Click(object sender, RoutedEventArgs e)
        {
            MainWindow mainWindow = (MainWindow)GetTopLevelControl(this.lstToSelecteColFrom);
            _SelectedColCollection.Clear();
           
            foreach (Column col in this.lstToSelecteColFrom.Items)
            {
                IEnumerable<Column> columns = _SelectedColCollection.Where(x => x.Name == col.Name & x.AliasName == col.AliasName);
                if (columns.Count() == 0)
                {
                    _SelectedColCollection.Add(col);
                }
            }

            if (_SelectedColCollection.Count > 11 && isExpanded == false)
            {
                SelectedColsStackPanel.Width += 16;
                isExpanded = true;
            }
            /***********Validate Control***********/
            Validate();
            /**************************************/

            /*****Update Cross Tabulation**********/
            
            FromTabStackPanelControl fromTabStackPanelCntrl = new FromTabStackPanelControl();
            DependencyObject parent = fromTabStackPanelCntrl.GetRVC(this.lstSelectedCol);

            if (parent != null)
            {
                ResultViewControl rvc = (ResultViewControl)parent;
                rvc.UpdateCrossTabulationTabCntrl(mainWindow);
                
            }
            /**************************************/
        }