Esempio n. 1
0
        private void BuildKeyDialog_Load(object sender, EventArgs e)
        {
            if (SelectedDataSource != null)
            {
                if (SelectedDataSource is IDbDriver)
                {
                    IDbDriver db = SelectedDataSource as IDbDriver;
                    //--EI-114
                    // relatedFields = db.GetTableColumnNames(RelatedTable);
                    if (RelatedTable.Contains(StringLiterals.SPACE))
                    {
                        string    pstr      = "Select TOP 2 * from [" + RelatedTable + "]";
                        DataTable relfields = DBReadExecute.GetDataTable(db, pstr);
                        foreach (DataColumn dc in relfields.Columns)
                        {
                            relatedFields.Add(dc.ColumnName);
                        }
                    }
                    else
                    {
                        relatedFields = db.GetTableColumnNames(RelatedTable);
                    }
                    //---
                }
                else if (SelectedDataSource is Project)
                {
                    Project project = SelectedDataSource as Project;

                    if (project.Views.Exists(relatedTable))
                    {
                        foreach (Epi.Fields.IField field in project.Views[RelatedTable].Fields)
                        {
                            if (!(field is Epi.Fields.LabelField) & !(field is Epi.Fields.CommandButtonField) & !(field is Epi.Fields.PhoneNumberField)//EI-705
                                & !(field is Epi.Fields.MultilineTextField) & !(field is Epi.Fields.GroupField) & !(field is Epi.Fields.CheckBoxField)
                                & !(field is Epi.Fields.ImageField) & !(field is Epi.Fields.OptionField) & !(field is Epi.Fields.GridField)
                                & !(field is Epi.Fields.MirrorField))
                            {
                                relatedFields.Add(field.Name);
                            }
                        }
                    }
                    else
                    {
                        relatedFields = project.GetTableColumnNames(RelatedTable);
                    }
                }
                if (this.EpiInterpreter.Context.DataSet != null)
                {
                    View CurrentView = null;
                    bool currentReadIdentifierIsView = false;

                    if (this.EpiInterpreter.Context.CurrentProject != null)
                    {
                        currentReadIdentifierIsView = this.EpiInterpreter.Context.CurrentProject.IsView(this.EpiInterpreter.Context.CurrentRead.Identifier);
                    }

                    if (currentReadIdentifierIsView)
                    {
                        CurrentView = this.EpiInterpreter.Context.CurrentProject.GetViewByName(this.EpiInterpreter.Context.CurrentRead.Identifier); //EI-705
                        foreach (DataColumn column in this.EpiInterpreter.Context.DataSet.Tables["Output"].Columns)
                        {
                            if ((CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.LabelField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.CommandButtonField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.PhoneNumberField))
                                & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.MultilineTextField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.GroupField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.CheckBoxField))
                                & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.ImageField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.OptionField)) & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.GridField))
                                & (CurrentView.Fields.Exists(column.ColumnName) && !(CurrentView.Fields[column.ColumnName] is Epi.Fields.MirrorField)))
                            {
                                currentFields.Add(column.ColumnName);
                            }
                        }
                    }
                    else
                    {
                        foreach (DataColumn column in this.EpiInterpreter.Context.DataSet.Tables["Output"].Columns)
                        {
                            currentFields.Add(column.ColumnName);
                        }
                    }
                }
                currentFields.Sort();
            }
            //rdbCurrentTable.Checked = true;

            relatedFields.Sort();
            currentFields.Sort();

            //cmbAvailableVariables2.DataSource = relatedFields;
            lbxRelatedTableFields.DataSource = relatedFields;
            //cmbAvailableVariables.DataSource = currentFields;
            lbxCurrentTableFields.DataSource = currentFields;

            lbxCurrentTableFields.SelectedIndex = -1;
            lbxRelatedTableFields.SelectedIndex = -1;

            if (CallingDialog == "RELATE")
            {
                lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_RELATE_INSTRUCTIONS;
            }
            else
            {
                lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_MERGE_INSTRUCTIONS;
            }

            this.LoadIsFinished = true;
        }
Esempio n. 2
0
        private void BuildKeyDialog_Load(object sender, EventArgs e)
        {
            if (SelectedDataSource != null)
            {
                if (SelectedDataSource is IDbDriver)
                {
                    IDbDriver db = SelectedDataSource as IDbDriver;
                    //--EI-114
                    // relatedFields = db.GetTableColumnNames(RelatedTable);
                    if (RelatedTable.Contains(StringLiterals.SPACE))
                    {
                        string    pstr      = "Select TOP 2 * from [" + RelatedTable + "]";
                        DataTable relfields = DBReadExecute.GetDataTable(db, pstr);
                        foreach (DataColumn dc in relfields.Columns)
                        {
                            relatedFields.Add(dc.ColumnName);
                        }
                    }
                    else
                    {
                        relatedFields = db.GetTableColumnNames(RelatedTable);
                    }
                    //---
                }
                else if (SelectedDataSource is Project)
                {
                    Project project = SelectedDataSource as Project;

                    if (project.Views.Exists(relatedTable))
                    {
                        foreach (Epi.Fields.IField field in project.Views[RelatedTable].Fields)
                        {
                            if (!(field is Epi.Fields.LabelField) &
                                !(field is Epi.Fields.CommandButtonField) &
                                !(field is Epi.Fields.PhoneNumberField) &
                                !(field is Epi.Fields.MultilineTextField) &
                                !(field is Epi.Fields.GroupField) &
                                !(field is Epi.Fields.CheckBoxField) &
                                !(field is Epi.Fields.ImageField) &
                                !(field is Epi.Fields.OptionField) &
                                !(field is Epi.Fields.GridField) &
                                !(field is Epi.Fields.MirrorField))
                            {
                                relatedFields.Add(field.Name);
                            }
                        }
                    }
                    else
                    {
                        relatedFields = project.GetTableColumnNames(RelatedTable);
                    }
                }

                currentFields = GetCurrentFields();
            }

            relatedFields.Sort();
            currentFields.Sort();

            lbxRelatedTableFields.DataSource = relatedFields;
            lbxCurrentTableFields.DataSource = currentFields;

            lbxCurrentTableFields.SelectedIndex = -1;
            lbxRelatedTableFields.SelectedIndex = -1;

            if (CallingDialog == "RELATE")
            {
                lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_RELATE_INSTRUCTIONS;
            }
            else
            {
                lblBuildKeyInstructions.Text = SharedStrings.BUILDKEY_MERGE_INSTRUCTIONS;
            }

            this.LoadIsFinished = true;
        }