Example #1
0
        /// <summary>
        /// Faz o lookup e retorna o registro localizado com o dado digitado no campo
        /// </summary>
        /// <param name="MostrarLOOK">bool indicando se o form com o conteudo será mostrado.</param>
        /// <returns></returns>
        public bool FazerLookUp(bool MostrarLOOK)
        {
            bool bRetorno = true;

            if (!string.IsNullOrEmpty(Propriedades.StringConexao) && !string.IsNullOrEmpty(sSQLStatement))
            {
                if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null)
                {
                    FormSet fForm = ((FormSet)Propriedades.FormMain.ActiveMdiChild);
                    if (fForm.FormStatus == TipoFormStatus.Novo || fForm.FormStatus == TipoFormStatus.Modificando)
                    {
                        if (MostrarLOOK || (!MostrarLOOK && !string.IsNullOrEmpty(this.Text)))
                        {
                            frmMostarLookUp f         = new frmMostarLookUp(this.SQLStatement, this.Text, this.ReturnColumn);
                            int             iTotalReg = f.CriarLookUp_Estrutura();
                            dtLookup = f.DataTable;

                            switch (iTotalReg)
                            {
                            case 0:
                                bRetorno         = false;
                                dtLookUp_Retorno = null;
                                break;

                            case 1:
                                dtLookUp_Retorno = f.RegistroSelecionado;
                                this.Text        = f.ValorSelecionado;
                                break;

                            default:
                                if (MostrarLOOK)
                                {
                                    if (f.ShowDialog() == DialogResult.OK)
                                    {
                                        if (!string.IsNullOrEmpty(f.ValorSelecionado))
                                        {
                                            this.dtLookUp_Retorno = f.RegistroSelecionado;
                                            this.Text             = f.ValorSelecionado;
                                        }
                                        else
                                        {
                                            bRetorno = false;
                                        }
                                    }
                                    else
                                    {
                                        bRetorno = false;
                                    }
                                }
                                break;
                            }

                            f.Dispose();
                        }
                    }
                }
            }

            return(bRetorno);
        }
Example #2
0
        protected override void OnLoad(EventArgs e)
        {
            //-- base.OnLoad(e);

            f = ((FormSet)compFrameWork.Propriedades.FormMain.ActiveMdiChild);
            this.grdLista.AutoGenerateColumns = true;
            this.grdLista.DataSource          = f.BindingSource[f.MainTabela].DataSource;

            DataTable dt = new DataTable("xpto");

            dt.Columns.Add("Descricao", typeof(System.String));
            dt.Columns.Add("Coluna", typeof(System.String));

            foreach (DataGridViewColumn c in this.grdLista.Columns)
            {
                DataRow row = dt.NewRow();
                row["coluna"]    = c.DataPropertyName;
                c.HeaderText     = c.HeaderText.Replace("_", " ");
                row["descricao"] = c.HeaderText;
                dt.Rows.Add(row);
            }

            this.grdLista.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);

            this.cboColunas.DataSource    = dt;
            this.cboColunas.DisplayMember = "Descricao";
            this.cboColunas.ValueMember   = "coluna";
        }
Example #3
0
        /// <summary>
        /// Verifica se o campo existe no ControlSource e preenche o mesmo
        /// </summary>
        private void preencheCampoControlSource()
        {
            if (!string.IsNullOrEmpty(sTabela))
            {
                //-- Varre todas as colunas da tabela do lookup.
                FormSet f = Propriedades.FormMain.ActiveMdiChild as FormSet;
                if (f.FormStatus == TipoFormStatus.Novo || f.FormStatus == TipoFormStatus.Modificando)
                {
                    foreach (System.Data.DataColumn dc in dtLookup.Columns)
                    {
                        //-- Verifica se a coluna da com o nome do look up existe no grid.
                        if (dc.Caption.ToLower() != sControlSource.ToLower() && f.CurrentRow.Row.Table.Columns.Contains(dc.Caption))
                        {
                            if (dtLookUp_Retorno != null)
                            {
                                f.CurrentRow[dc.Caption] = dtLookUp_Retorno[dc.Caption];
                            }
                            else
                            {
                                f.CurrentRow[dc.Caption] = DBNull.Value;
                            }
                        }
                    }

                    f.BindingSource[sTabela].EndEdit();
                }
            }
        }
Example #4
0
        private void frmAdvancedSearch_FormClosed(object sender, FormClosedEventArgs e)
        {
            FormSet f = ((FormSet)Propriedades.FormMain.ActiveMdiChild);
            Funcoes func;

            func.TratarStatus_BarraFerramentas(f.FormStatus, f.Tipo_Formulario);
            f.Movimentar_Registro(Movimento.Atualizar_Atual);
        }
Example #5
0
        /// <summary>
        /// Valida o campo como obrigatório ou não
        /// </summary>
        /// <returns>Valido true/false</returns>
        public bool ValidarCampos()
        {
            Funcoes func;

            if (bObrigatorio &&
                !string.IsNullOrEmpty(this.ControlSource) &&
                Propriedades.FormMain != null &&
                Propriedades.FormMain.ActiveMdiChild != null &&
                func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet)))
            {
                FormSet f_MdiActivate = ((FormSet)Propriedades.FormMain.ActiveMdiChild);

                //-- Caso o campo seja para validação execute o HelpProvider.
                //-- Verifica qual é o modo do formulário, permitindo apenas como Novo ou Modificando.
                if (f_MdiActivate.FormStatus == TipoFormStatus.Novo ||
                    f_MdiActivate.FormStatus == TipoFormStatus.Modificando)
                {
                    string sValor_Valida = string.Empty;

                    //-- Verifica o registro foi preenchido.
                    if (sTabela.Equals(f_MdiActivate.MainTabela.ToLower()))
                    {
                        if (!this.IsHandleCreated || !this.Parent.IsHandleCreated)
                        {
                            DataRowView row = (DataRowView)f_MdiActivate.BindingSource[sTabela].Current;
                            sValor_Valida = row[sControlSource].ToString();
                        }
                        else
                        {
                            sValor_Valida = this.Value;
                        }
                    }

                    //-- Verifica se o valor está OK.
                    if (string.IsNullOrEmpty(sValor_Valida))
                    {
                        ep.SetIconAlignment(this, ErrorIconAlignment.MiddleRight);
                        ep.SetIconPadding(this, -19);
                        ep.SetError(this, sMensagemObrigatorio);
                        return(false);
                    }
                    else
                    {
                        ep.SetError(this, "");
                        return(true);
                    }
                }
                else
                {
                    ep.SetError(this, "");
                    return(true);
                }
            }
            else
            {
                return(true);
            }
        }
Example #6
0
 private void setWindowToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (MyFormSet.IsDisposed)
     {
         FormSet MyFormSet = new FormSet((byte)TopId.FormSet);
     }
     MyFormSet.MdiParent = this;
     MyFormSet.Show();
 }
Example #7
0
        /// <summary>
        /// Valida o campo como obrigatório ou não
        /// </summary>
        /// <returns>Valido true/false</returns>
        public bool ValidarCampos()
        {
            Funcoes func;

            if (bObrigatorio &&
                !string.IsNullOrEmpty(sControlSource) &&
                Propriedades.FormMain != null &&
                Propriedades.FormMain.ActiveMdiChild != null &&
                func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet)))
            {
                FormSet f_MdiActivate = ((FormSet)Propriedades.FormMain.ActiveMdiChild);

                //-- Caso o campo seja para validação execute o HelpProvider.
                //-- Verifica qual é o modo do formulário, permitindo apenas como Novo ou Modificando.
                if (f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Novo ||
                    f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Modificando)
                {
                    string sValor_Combo = string.Empty;

                    //-- Verifica se o controle já existe em memoria, caso exista captura o valor do controle.
                    if (!this.IsHandleCreated)
                    {
                        DataRowView row = (DataRowView)f_MdiActivate.BindingSource[sTabela].Current;
                        sValor_Combo = row[sControlSource].ToString();
                    }
                    else
                    {
                        if (this.Value != null)
                        {
                            sValor_Combo = this.Value.ToString();
                        }
                    }

                    if (string.IsNullOrEmpty(sValor_Combo))
                    {
                        ep.SetIconAlignment(this, ErrorIconAlignment.MiddleRight);
                        ep.SetIconPadding(this, -35);
                        ep.SetError(this, sMensagemObrigatorio);
                        return(false);
                    }
                    else
                    {
                        ep.SetError(this, "");
                        return(true);
                    }
                }
                else
                {
                    ep.SetError(this, "");
                    return(true);
                }
            }
            else
            {
                return(true);
            }
        }
Example #8
0
        public override void Set_DataMember_DetailReports()
        {
            this.Report_DataSet.Tables.Remove("Fluxo");
            this.Report_DataSet.Tables.Remove("Mes");

            //-- Importa dados.
            if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null)
            {
                FormSet  f  = ((FormSet)Propriedades.FormMain.ActiveMdiChild);
                DataView dv = new DataView(f.DataSetLocal.Tables[this.DataMember], "", "Data", DataViewRowState.CurrentRows);
                this.Report_DataSet.Tables[this.DataMember].Merge(dv.ToTable(this.DataMember), false, MissingSchemaAction.AddWithKey);

                dv.Dispose();
            }
        }
Example #9
0
        /// <summary>
        /// Atualiza registros recem criados no dataset.
        /// </summary>
        /// <param name="fForm">Form ativo</param>
        /// <param name="sNomeTabela">Nome da tabela que será atualizada.</param>
        private void Atualizar_ForeignKey_Filha(FormSet fForm, String sNomeTabela)
        {
            fForm.BindingSource[sNomeTabela].EndEdit();

            DataView dv = new DataView(fForm.DataSetLocal.Tables[sNomeTabela], "", "", DataViewRowState.Added);

            foreach (DataRowView Row in dv)
            {
                foreach (DS_PrimaryKey pk in fForm.PrimaryKeyMain)
                {
                    Row[pk.PrimaryKey] = pk.ValorPrimaryKey;
                }
            }

            fForm.BindingSource[sNomeTabela].EndEdit();
        }
Example #10
0
        /// <summary>
        /// Retorna se o controle está associado a uma coluna Identity
        /// </summary>
        /// <param name="ctrl">controle já customizado (Class CustonControl)</param>
        /// <returns>true/false se o controle é Identity</returns>
        private bool Control_IsIdentity(ref Interfaces.IBaseControl_DB ctrl)
        {
            bool bRetono = false;

            if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null)
            {
                FormSet f = (FormSet)Propriedades.FormMain.ActiveMdiChild;

                if (ctrl.Tabela == f.MainTabela && !string.IsNullOrEmpty(ctrl.ControlSource))
                {
                    DataColumn dc = f.DataSetLocal.Tables[ctrl.Tabela].Columns[ctrl.ControlSource];
                    bRetono = dc.AutoIncrement;
                }
            }

            return(bRetono);
        }
Example #11
0
        /// <summary>
        /// Valida o campo como obrigatório ou não
        /// </summary>
        /// <returns>Valido true/false</returns>
        public bool ValidarCampos()
        {
            Funcoes func;

            if (bObrigatorio &&
                !string.IsNullOrEmpty(sControlSource) &&
                Propriedades.FormMain != null &&
                Propriedades.FormMain.ActiveMdiChild != null &&
                func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet)))
            {
                FormSet f_MdiActivate = ((FormSet)Propriedades.FormMain.ActiveMdiChild);

                //-- Caso o campo seja para validação execute o HelpProvider.
                //-- Verifica qual é o modo do formulário, permitindo apenas como Novo ou Modificando.
                if (f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Novo ||
                    f_MdiActivate.FormStatus == CompSoft.TipoFormStatus.Modificando)
                {
                    object oValor_Campo = this.EditValue;

                    if (oValor_Campo == null || oValor_Campo == DBNull.Value)
                    {
                        ep.SetIconAlignment(this, ErrorIconAlignment.MiddleRight);
                        ep.SetIconPadding(this, -33);
                        ep.SetError(this, sMensagemObrigatorio);
                        return(false);
                    }
                    else
                    {
                        ep.SetError(this, "");
                        return(true);
                    }
                }
                else
                {
                    ep.SetError(this, "");
                    return(true);
                }
            }
            else
            {
                return(true);
            }
        }
Example #12
0
 /// <summary>
 /// Copia toda a estrutura do dataset do form original
 /// </summary>
 private void Copia_DataSet_FormOrigem()
 {
     try
     {
         this.dt_DataSet.EnforceConstraints = false;
         FormSet fForm = (FormSet)Propriedades.FormMain.ActiveMdiChild;
         foreach (DataTable dt in fForm.DataSetLocal.Tables)
         {
             this.ADD_Tabela(dt.Copy());
             this.dt_DataSet.Tables[dt.TableName].Clear();
         }
     }
     catch (Exception ex)
     {
         fwait.Close();
         MsgBox.Show(ex.Message
                     , "ERRO - Copia de dados da origem"
                     , MessageBoxButtons.OK
                     , MessageBoxIcon.Error);
     }
 }
Example #13
0
        private void Relacionar_Tabelas()
        {
            FormSet fForm = (FormSet)Propriedades.FormMain.ActiveMdiChild;

            foreach (DataTable ct in this.dt_DataSet.Tables)
            {
                if (this.dt_DataSet.Tables.Count > 1 && ct.TableName.ToLower() != fForm.MainTabela.ToLower())
                {
                    //-- Define as colunas
                    DataColumn[] parent = this.dt_DataSet.Tables[fForm.MainTabela].PrimaryKey;
                    DataColumn[] child  = new DataColumn[parent.Length];

                    int i = 0;
                    foreach (DataColumn dc in parent)
                    {
                        child[i] = this.dt_DataSet.Tables[ct.TableName].Columns[dc.Caption];
                        i++;
                    }

                    //-- Faz o relacionamento
                    try
                    {
                        DataRelation dr = new DataRelation(string.Format("FK_{0}_{1}", fForm.MainTabela, ct.TableName)
                                                           , parent
                                                           , child);
                        this.dt_DataSet.Relations.Add(dr);
                    }
                    catch (Exception ex)
                    {
                        fwait.Close();
                        CompSoft.compFrameWork.MsgBox.Show(ex.Message);
                    }
                    finally
                    {
                        this.dt_DataSet.EnforceConstraints = false;
                    }
                }
            }
        }
Example #14
0
        /// <summary>
        /// Seta todos os DataBind do formulário.
        /// </summary>
        /// <param name="controle">Nome do controle para o bind</param>
        /// <param name="fForm">formulário que o controle pertence</param>
        internal void setarValores_Bind(Control.ControlCollection controle, FormSet fForm)
        {
            if (string.IsNullOrEmpty(fForm.MainTabela))
            {
                MsgBox.Show("A propriedade MainTabela do form não foi preenchida."
                            , "Alerta"
                            , MessageBoxButtons.OK
                            , MessageBoxIcon.Error);
            }
            else
            {
                foreach (Control ctrl in controle)
                {
                    //-- Caso o controle possua mais controles internos.
                    if (ctrl.Controls.Count > 0 && ctrl.GetType() != typeof(cf_DateEdit))
                    {
                        //-- Caso seja um container de controles o metodo se chama automaticamente.
                        setarValores_Bind(ctrl.Controls, fForm);
                    }
                    else
                    {
                        if (ctrl.GetType().GetInterface("IBaseControl_DB", true) != null)
                        {
                            Interfaces.IBaseControl_DB cc = (Interfaces.IBaseControl_DB)ctrl;
                            if (!string.IsNullOrEmpty(cc.Tabela) && !string.IsNullOrEmpty(cc.ControlSource))
                            {
                                //-- Inicia o Bind
                                Binding b;

                                try
                                {
                                    //-- Captura todas as colunas da tabela que o controle está vinculado.
                                    DataColumn dcc = fForm.DataSetLocal.Tables[cc.Tabela].Columns[cc.ControlSource];

                                    switch (ctrl.GetType().Name)
                                    {
                                    case "cf_TextBox":
                                        b = new Binding("Text", fForm.BindingSource[cc.Tabela], cc.ControlSource);
                                        cf_TextBox control_text = (cf_Bases.cf_TextBox)ctrl;

                                        switch (control_text.TipoControles)
                                        {
                                        case CompSoft.TipoControle.Data:
                                            b.FormatString = "dd/MM/yyyy";
                                            break;

                                        case CompSoft.TipoControle.Hora:
                                            b.FormatString = "HH:mm";
                                            break;

                                        case CompSoft.TipoControle.Moeda:
                                            b.FormatString = "N2";
                                            break;

                                        case CompSoft.TipoControle.Numerico:
                                            b.FormatString = "N" + control_text.Qtde_Casas_Decimais.ToString();
                                            break;

                                        case CompSoft.TipoControle.Indice:
                                            b.FormatString = "F5";
                                            break;

                                        case CompSoft.TipoControle.Inteiro:
                                            b.FormatString = "D";
                                            break;

                                        default:
                                            b.FormatString = string.Empty;
                                            break;
                                        }
                                        b.FormattingEnabled    = true;
                                        b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                                        b.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;

                                        if (control_text.MaxLength == 32767)
                                        {
                                            //-- Define o tamanho maximo do controle.
                                            control_text.MaxLength = this.Captura_MaxCaracter(dcc);
                                        }

                                        //-- Verifica a obrigatoriedade dos controles
                                        if (!cc.Obrigatorio)
                                        {
                                            if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower()))
                                            {
                                                cc.Obrigatorio = !dcc.AllowDBNull;
                                            }
                                        }
                                        break;

                                    case "cf_MaskedBox":
                                        b = new Binding("Text", fForm.BindingSource[cc.Tabela], cc.ControlSource);
                                        cf_MaskedBox control_mask = (cf_Bases.cf_MaskedBox)ctrl;

                                        b.FormattingEnabled    = false;
                                        b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                                        b.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;

                                        if (control_mask.MaxLength == 32767)
                                        {
                                            //-- Define o tamanho maximo do controle.
                                            control_mask.MaxLength = this.Captura_MaxCaracter(dcc);
                                        }

                                        //-- Verifica a obrigatoriedade dos controles
                                        if (!cc.Obrigatorio)
                                        {
                                            if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower()))
                                            {
                                                cc.Obrigatorio = !dcc.AllowDBNull;
                                            }
                                        }
                                        break;

                                    case "cf_ComboBox":
                                        b = new Binding("SelectedValue", fForm.BindingSource[cc.Tabela], cc.ControlSource);
                                        b.FormattingEnabled    = false;
                                        b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                                        b.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;

                                        ((CompSoft.cf_Bases.cf_ComboBox)ctrl).SelectedIndex = -1;

                                        //-- Verifica a obrigatoriedade dos controles
                                        if (!cc.Obrigatorio)
                                        {
                                            if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower()))
                                            {
                                                cc.Obrigatorio = !dcc.AllowDBNull;
                                            }
                                        }
                                        break;

                                    case "cf_CheckBox":
                                        b = new Binding("Checked", fForm.BindingSource[cc.Tabela], cc.ControlSource);
                                        b.FormattingEnabled    = true;
                                        b.DataSourceNullValue  = false;
                                        b.NullValue            = false;
                                        b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                                        b.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;
                                        break;

                                    case "cf_RadioButton":
                                        b = new Binding("Checked", fForm.BindingSource[cc.Tabela], cc.ControlSource);
                                        b.FormattingEnabled    = true;
                                        b.DataSourceNullValue  = false;
                                        b.NullValue            = false;
                                        b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                                        b.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;
                                        break;

                                    case "cf_DateEdit":
                                        b = new Binding("EditValue", fForm.BindingSource[cc.Tabela], cc.ControlSource);
                                        b.FormattingEnabled    = true;
                                        b.NullValue            = null;
                                        b.DataSourceNullValue  = DBNull.Value;
                                        b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                                        b.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;

                                        //-- Verifica a obrigatoriedade dos controles
                                        if (!cc.Obrigatorio)
                                        {
                                            if (fForm.MainTabela.ToLower().Equals(cc.Tabela.ToLower()))
                                            {
                                                cc.Obrigatorio = !dcc.AllowDBNull;
                                            }
                                        }
                                        break;

                                    default:
                                        b = new Binding("Value", fForm.BindingSource[cc.Tabela], cc.ControlSource);
                                        b.FormattingEnabled    = true;
                                        b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
                                        b.ControlUpdateMode    = ControlUpdateMode.OnPropertyChanged;
                                        b.FormatString         = string.Empty;
                                        break;
                                    }

                                    try
                                    {
                                        ctrl.DataBindings.Add(b);
                                    }
                                    catch
                                    {
                                        string sMsg = string.Empty;
                                        sMsg += "ERRO AO REALIZAR O BIND:";
                                        sMsg += "\n\r     -Controle: " + ctrl.Name;
                                        sMsg += "\n\r   -DataSource: " + b.DataSource.ToString();
                                        sMsg += "\n\r       -Tabela: " + cc.Tabela;
                                        sMsg += "\n\r       -Coluna: " + cc.ControlSource;
                                        MsgBox.Show(sMsg
                                                    , "Alerta"
                                                    , MessageBoxButtons.OK
                                                    , MessageBoxIcon.Error);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    string sMsg = string.Empty;
                                    sMsg += "ERRO AO REALIZAR O BIND:";
                                    sMsg += "\n\r     -Controle: " + ctrl.Name;
                                    sMsg += "\n\r       -Tabela: " + cc.Tabela;
                                    sMsg += "\n\r       -Coluna: " + cc.ControlSource;
                                    sMsg += "\n\r" + ex.Message;
                                    MsgBox.Show(sMsg
                                                , "Alerta"
                                                , MessageBoxButtons.OK
                                                , MessageBoxIcon.Error);
                                }
                            }
                        }
                    }
                }
            }
        }
Example #15
0
        /// <summary>
        /// Atualiza todas as tabelas com os campos bindados na tela
        /// </summary>
        /// <param name="fForm">Formulário que está sendo trabalhado.</param>
        /// <returns>true/false caso consiga atualizar tudo.</returns>
        public bool Salvar_Dados(FormSet fForm)
        {
            bool bRetorno = false;

            SqlConnection db = new SqlConnection(Propriedades.StringConexao);

            try
            {
                db.Open();

                //-- filtra somente tabelas pai.
                IList <Controle_Tabelas> iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll(
                    new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj)
                                                     { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Pai); }));

                //-- Loop para atualiza todos os pai
                foreach (Controle_Tabelas ct in iTab)
                {
                    SqlCommand cm = new SqlCommand(string.Format("select * from {0}", ct.NomeTabela), db);
                    //-- Monta todas os updates para atualização no banco de dados.
                    SqlDataAdapter da = new SqlDataAdapter(cm);
                    da.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated_Pai);

                    SqlCommandBuilder cb = new SqlCommandBuilder(da);
                    cb.SetAllValues   = false;
                    cb.ConflictOption = ConflictOption.OverwriteChanges;
                    fForm.BindingSource[ct.NomeTabela].EndEdit();
                    da.Update(fForm.DataSetLocal, ct.NomeTabela);
                }

                //-- filtra somente tabelas pai.
                iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll(
                    new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj)
                                                     { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Filha); }));

                //-- Loop para atualiza todos os filhos
                foreach (Controle_Tabelas ct in iTab)
                {
                    SqlCommand cm = new SqlCommand(string.Format("select * from {0}", ct.NomeTabela), db);
                    //-- Monta todas os updates para atualização no banco de dados.
                    SqlDataAdapter da = new SqlDataAdapter(cm);
                    da.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated_Filha);

                    //-- Atualiza Foreign key para não ocorrer erro de constraint nas tabelas filhas.
                    Atualizar_ForeignKey_Filha(fForm, ct.NomeTabela);

                    SqlCommandBuilder cb = new SqlCommandBuilder(da);
                    cb.SetAllValues   = false;
                    cb.ConflictOption = ConflictOption.OverwriteChanges;
                    fForm.BindingSource[ct.NomeTabela].EndEdit();
                    da.Update(fForm.DataSetLocal, ct.NomeTabela);
                }

                //-- Aceita todas as alterações realizadas.
                fForm.DataSetLocal.AcceptChanges();
                bRetorno = true;
            }
            catch (Exception ex)
            {
                CompSoft.compFrameWork.MsgBox.Show(string.Format("ERRO AO SALVAR DADOS NA TABELA.\n{0}", ex.Message), "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                bRetorno = false;
            }
            finally
            {
                db.Close();
            }

            return(bRetorno);
        }
Example #16
0
        /// <summary>
        /// Excluir os registros das tabelas filhas e depois os da tabela pai.
        /// </summary>
        /// <param name="fForm">Formulário que está sendo trabalhado.</param>
        /// <returns>true/false caso consiga atualizar tudo.</returns>
        public bool Excluir_Dados(FormSet fForm)
        {
            bool bRetorno = false;

            SqlConnection db = new SqlConnection(Propriedades.StringConexao);

            try
            {
                db.Open();

                //-- filtra somente tabelas pai.
                IList <Controle_Tabelas> iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll(
                    new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj)
                                                     { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Filha); }));

                //-- Loop para atualiza todos os filhos
                foreach (Controle_Tabelas ct in iTab)
                {
                    //-- Monta todas os updates para atualização no banco de dados.
                    SqlDataAdapter da = new SqlDataAdapter(string.Format("select * from {0}", ct.NomeTabela), db);

                    try
                    {
                        SqlCommandBuilder cb = new SqlCommandBuilder(da);
                        cb.ConflictOption  = ConflictOption.CompareRowVersion;
                        cb.SetAllValues    = false;
                        da.UpdateBatchSize = 100;
                        da.Update(fForm.DataSetLocal, ct.NomeTabela);
                        bRetorno = true;
                    }
                    catch
                    {
                        MsgBox.Show("Não foi possivel excluir registro.", "Alerta - FILHA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        fForm.DataSetLocal.RejectChanges();
                        bRetorno = false;
                        goto Erro;
                    }
                }

                //-- filtra somente tabelas pai.
                iTab = ((List <Controle_Tabelas>) fForm.Tabelas).FindAll(
                    new Predicate <Controle_Tabelas>(delegate(Controle_Tabelas obj)
                                                     { return(obj.TipoTabela == Controle_Tabelas.TiposTabelas.Pai); }));

                //-- Loop para atualiza todos os pai
                foreach (Controle_Tabelas ct in iTab)
                {
                    //-- Monta todas os updates para atualização no banco de dados.
                    SqlDataAdapter da = new SqlDataAdapter(string.Format("select * from {0}", ct.NomeTabela), db);

                    try
                    {
                        SqlCommandBuilder cb = new SqlCommandBuilder(da);
                        cb.ConflictOption  = ConflictOption.CompareRowVersion;
                        cb.SetAllValues    = false;
                        da.UpdateBatchSize = 100;
                        da.Update(fForm.DataSetLocal, ct.NomeTabela);
                        bRetorno = true;
                    }
                    catch
                    {
                        MsgBox.Show("Não foi possivel excluir registro.", "Alerta - PAI", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        fForm.DataSetLocal.RejectChanges();
                        fForm.Movimentar_Registro(CompSoft.Movimento.Voltar);
                        bRetorno = false;
                        goto Erro;
                    }
                }

                //-- Aceita todas as alterações realizadas.
                fForm.DataSetLocal.AcceptChanges();
            }
            catch (Exception ex)
            {
                MsgBox.Show(string.Format("ERRO AO EXCLUIR DADO REGISTRO DA TABELA.\n{0}", ex.Message), "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                bRetorno = false;
            }
            finally
            {
                db.Close();
            }

Erro:
            return(bRetorno);
        }
Example #17
0
 protected void AddFormSet(FormSet formsSet)
 {
     _formSets.Add(formsSet.State, formsSet);
 }
Example #18
0
        /// <summary>
        /// Busca os dados para fazer a impressão
        /// </summary>
        /// <returns>True/False se encontrou registros ou deu algum erro</returns>
        private bool Buscar_Dados_Impressao()
        {
            bool bRetorno = false;

            //-- Formulário com todos os dados.
            FormSet fForm = (FormSet)Propriedades.FormMain.ActiveMdiChild;

            //---- Busca apenas o cliente selecionado pelo cliente.
            if (this.Imprimi_Registro_Atual)
            {
                foreach (Controle_Tabelas ct in fForm.Tabelas)
                {
                    if (ct.TipoTabela == Controle_Tabelas.TiposTabelas.Pai)
                    {
                        DataRow row = ((DataRowView)fForm.BindingSource[ct.NomeTabela].Current).Row;
                        this.dt_DataSet.Tables[ct.NomeTabela].ImportRow(row);

                        //-- Evento indicando que a tabela foi carregada para gerar o relatório.
                        if (this.user_AfterImportTable != null)
                        {
                            this.user_AfterImportTable(ct.NomeTabela);
                        }
                    }
                    else
                    {
                        DataTable dt = fForm.DataSetLocal.Tables[ct.NomeTabela].Copy();
                        this.ADD_Tabela(dt);

                        //-- Evento indicando que a tabela foi carregada para gerar o relatório.
                        if (this.user_AfterImportTable != null)
                        {
                            this.user_AfterImportTable(dt.TableName);
                        }
                    }
                }
                bRetorno = true;
            }

            //---- Busca todos os registros que foram localizados no sistema pelo usuário
            else
            {
                string sMonta_condicao = string.Empty;

                //-- Faz a busca tabela por tabela.
                foreach (Controle_Tabelas ct in fForm.Tabelas)
                {
                    if (ct.TipoTabela == Controle_Tabelas.TiposTabelas.Pai)
                    {
                        DataTable dt = fForm.DataSetLocal.Tables[ct.NomeTabela].Copy();
                        this.ADD_Tabela(dt);

                        //-- Evento indicando que a tabela foi carregada para gerar o relatório.
                        if (this.user_AfterImportTable != null)
                        {
                            this.user_AfterImportTable(dt.TableName);
                        }

                        //-- Monta as condições de busca.
                        DataRow[] fRow = this.dt_DataSet.Tables[fForm.MainTabela].Select();
                        sMonta_condicao = Monta_Condicao_AllRecords(fRow);
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(sMonta_condicao))
                        {
                            //-- Monta condições de busca e adicona DT no DataSet
                            string sWhere = sMonta_condicao.ToLower().Replace("%tabela%", ct.NomeTabela);

                            int    iContemWhere = ct.SQLStatement.ToLower().IndexOf("where") + 5;
                            string sCondicao1   = string.Empty,
                                   sCondicao2   = string.Empty;

                            if (ct.SQLStatement.ToLower().IndexOf("where") > 0)
                            {
                                sCondicao1 = ct.SQLStatement.Substring(0, iContemWhere);
                                sCondicao2 = ct.SQLStatement.Substring(iContemWhere, (ct.SQLStatement.Length - iContemWhere));

                                sCondicao1 += "(" + sWhere + ") AND " + sCondicao2;
                            }
                            else
                            {
                                sCondicao1 = ct.SQLStatement + " where " + sWhere;
                            }

                            DataTable dt = SQL.Select(sCondicao1, ct.NomeTabela, false);

                            if (dt != null)
                            {
                                this.ADD_Tabela(dt);
                            }

                            //-- Evento indicando que a tabela foi carregada para gerar o relatório.
                            if (this.user_AfterImportTable != null)
                            {
                                this.user_AfterImportTable(dt.TableName);
                            }
                        }
                    }
                }

                bRetorno = true;
            }

            return(bRetorno);
        }
Example #19
0
        /// <summary>
        /// Atualiza todos os estados da barra de ferramentos.
        /// </summary>
        internal void TratarStatus_BarraFerramentas(CompSoft.TipoFormStatus TpFormStatus, CompSoft.TipoForm TpForm)
        {
            if (Propriedades.FormMain != null)
            {
                //-- Atualiza os botões da barra de tarefas do main.
                switch (TpFormStatus)
                {
                case CompSoft.TipoFormStatus.Nenhum:
                    Propriedades.FormMain.cmdToolPrimeiro.Enabled           = false;
                    Propriedades.FormMain.cmdToolAnterior.Enabled           = false;
                    Propriedades.FormMain.cmdToolProximo.Enabled            = false;
                    Propriedades.FormMain.cmdToolUltimo.Enabled             = false;
                    Propriedades.FormMain.cmdToolNovo.Enabled               = false;
                    Propriedades.FormMain.cmdToolAlterar.Enabled            = false;
                    Propriedades.FormMain.cmdToolExcluir.Enabled            = false;
                    Propriedades.FormMain.cmdToolSalvar.Enabled             = false;
                    Propriedades.FormMain.cmdToolPesquisar.Enabled          = false;
                    Propriedades.FormMain.cmdToolLimpartela.Enabled         = false;
                    Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false;
                    Propriedades.FormMain.cmdToolAtualizar.Enabled          = false;
                    Propriedades.FormMain.cmdToolLookUp.Enabled             = false;
                    Propriedades.FormMain.cmdToolImpressao.Enabled          = false;
                    break;

                case CompSoft.TipoFormStatus.Novo:
                    Propriedades.FormMain.cmdToolPrimeiro.Enabled           = false;
                    Propriedades.FormMain.cmdToolAnterior.Enabled           = false;
                    Propriedades.FormMain.cmdToolProximo.Enabled            = false;
                    Propriedades.FormMain.cmdToolUltimo.Enabled             = false;
                    Propriedades.FormMain.cmdToolNovo.Enabled               = false;
                    Propriedades.FormMain.cmdToolAlterar.Enabled            = false;
                    Propriedades.FormMain.cmdToolExcluir.Enabled            = false;
                    Propriedades.FormMain.cmdToolSalvar.Enabled             = true;
                    Propriedades.FormMain.cmdToolPesquisar.Enabled          = false;
                    Propriedades.FormMain.cmdToolLimpartela.Enabled         = true;
                    Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = true;
                    Propriedades.FormMain.cmdToolAtualizar.Enabled          = false;
                    Propriedades.FormMain.cmdToolLookUp.Enabled             = false;
                    Propriedades.FormMain.cmdToolImpressao.Enabled          = false;

                    break;

                case CompSoft.TipoFormStatus.Limpar:
                    Propriedades.FormMain.cmdToolPrimeiro.Enabled   = false;
                    Propriedades.FormMain.cmdToolAnterior.Enabled   = false;
                    Propriedades.FormMain.cmdToolProximo.Enabled    = false;
                    Propriedades.FormMain.cmdToolUltimo.Enabled     = false;
                    Propriedades.FormMain.cmdToolLimpartela.Enabled = true;
                    Propriedades.FormMain.cmdToolPesquisar.Enabled  = true;
                    Propriedades.FormMain.cmdToolAtualizar.Enabled  = false;
                    Propriedades.FormMain.cmdToolLookUp.Enabled     = false;
                    Propriedades.FormMain.cmdToolImpressao.Enabled  = false;

                    if (TpForm == CompSoft.TipoForm.Geral)
                    {
                        Propriedades.FormMain.cmdToolNovo.Enabled               = true;
                        Propriedades.FormMain.cmdToolAlterar.Enabled            = false;
                        Propriedades.FormMain.cmdToolExcluir.Enabled            = false;
                        Propriedades.FormMain.cmdToolSalvar.Enabled             = false;
                        Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false;
                    }
                    else
                    {
                        Propriedades.FormMain.cmdToolNovo.Enabled               = false;
                        Propriedades.FormMain.cmdToolAlterar.Enabled            = false;
                        Propriedades.FormMain.cmdToolExcluir.Enabled            = false;
                        Propriedades.FormMain.cmdToolSalvar.Enabled             = false;
                        Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false;
                    }
                    break;

                case CompSoft.TipoFormStatus.Pesquisar:
                    Propriedades.FormMain.cmdToolPrimeiro.Enabled   = true;
                    Propriedades.FormMain.cmdToolAnterior.Enabled   = true;
                    Propriedades.FormMain.cmdToolProximo.Enabled    = true;
                    Propriedades.FormMain.cmdToolUltimo.Enabled     = true;
                    Propriedades.FormMain.cmdToolPesquisar.Enabled  = false;
                    Propriedades.FormMain.cmdToolLimpartela.Enabled = true;
                    Propriedades.FormMain.cmdToolAtualizar.Enabled  = true;
                    Propriedades.FormMain.cmdToolLookUp.Enabled     = true;
                    Propriedades.FormMain.cmdToolImpressao.Enabled  = true;

                    if (TpForm == CompSoft.TipoForm.Geral)
                    {
                        Propriedades.FormMain.cmdToolNovo.Enabled               = true;
                        Propriedades.FormMain.cmdToolAlterar.Enabled            = true;
                        Propriedades.FormMain.cmdToolExcluir.Enabled            = true;
                        Propriedades.FormMain.cmdToolSalvar.Enabled             = false;
                        Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false;
                    }
                    else
                    {
                        Propriedades.FormMain.cmdToolNovo.Enabled               = false;
                        Propriedades.FormMain.cmdToolAlterar.Enabled            = false;
                        Propriedades.FormMain.cmdToolExcluir.Enabled            = false;
                        Propriedades.FormMain.cmdToolSalvar.Enabled             = false;
                        Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false;
                    }
                    break;

                case CompSoft.TipoFormStatus.Modificando:
                    Propriedades.FormMain.cmdToolPrimeiro.Enabled           = false;
                    Propriedades.FormMain.cmdToolAnterior.Enabled           = false;
                    Propriedades.FormMain.cmdToolProximo.Enabled            = false;
                    Propriedades.FormMain.cmdToolUltimo.Enabled             = false;
                    Propriedades.FormMain.cmdToolNovo.Enabled               = false;
                    Propriedades.FormMain.cmdToolAlterar.Enabled            = false;
                    Propriedades.FormMain.cmdToolExcluir.Enabled            = false;
                    Propriedades.FormMain.cmdToolSalvar.Enabled             = true;
                    Propriedades.FormMain.cmdToolPesquisar.Enabled          = false;
                    Propriedades.FormMain.cmdToolLimpartela.Enabled         = false;
                    Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = true;
                    Propriedades.FormMain.cmdToolAtualizar.Enabled          = false;
                    Propriedades.FormMain.cmdToolLookUp.Enabled             = false;
                    Propriedades.FormMain.cmdToolImpressao.Enabled          = false;
                    break;
                }

                if (Propriedades.FormMain.ActiveMdiChild != null && this.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet)))
                {
                    //-- Verifica se a barra de ferramentas sofrerá alterações.
                    FormSet f = ((FormSet)Propriedades.FormMain.ActiveMdiChild);
                    if (!f.Barra_Ferramentas_Novo_Registro)
                    {
                        Propriedades.FormMain.cmdToolNovo.Enabled = false;
                    }

                    if (!f.Barra_Ferramentas_Editar_Registro)
                    {
                        Propriedades.FormMain.cmdToolAlterar.Enabled = false;
                    }

                    if (!f.Barra_Ferramentas_Excluir_Registro)
                    {
                        Propriedades.FormMain.cmdToolExcluir.Enabled = false;
                    }

                    if (!f.Barra_Ferramentas_Limpar_Tela)
                    {
                        Propriedades.FormMain.cmdToolLimpartela.Enabled = false;
                    }

                    if (!f.Barra_Ferramentas_Pesquisar_Registro)
                    {
                        Propriedades.FormMain.cmdToolPesquisar.Enabled = false;
                    }

                    if (!f.Barra_Ferramentas_Relatorios)
                    {
                        Propriedades.FormMain.cmdToolImpressao.Enabled = false;
                    }
                }
            }
        }
Example #20
0
        /// <summary>
        /// Faz o lookup e retorna o registro localizado com o dado digitado no campo
        /// </summary>
        public bool FazerLookUp(bool MostrarLOOK)
        {
            bool bRetorno = true;

            if (this.LookUp && !string.IsNullOrEmpty(sSQLStatement))
            {
                if (Propriedades.FormMain != null && Propriedades.FormMain.ActiveMdiChild != null)
                {
                    FormSet fForm = ((FormSet)Propriedades.FormMain.ActiveMdiChild);
                    if (fForm.FormStatus == TipoFormStatus.Novo ||
                        fForm.FormStatus == TipoFormStatus.Modificando ||
                        fForm.FormStatus == TipoFormStatus.Limpar)
                    {
                        if (MostrarLOOK || (!MostrarLOOK && !string.IsNullOrEmpty(this.Text)))
                        {
                            frmMostarLookUp f         = new frmMostarLookUp(this.SQLStatement, this.Text, iColunaLookUp);
                            int             iTotalReg = f.CriarLookUp_Estrutura();
                            dtLookup = f.DataTable; //-- tabela com o resultado da pesquisa.

                            switch (iTotalReg)
                            {
                            case 0:
                                bRetorno         = false;
                                dtLookUp_Retorno = null;
                                break;

                            case 1:
                                dtLookUp_Retorno = f.RegistroSelecionado;
                                this.Text        = f.ValorSelecionado;
                                break;

                            default:
                                if (MostrarLOOK)
                                {
                                    if (f.ShowDialog() == DialogResult.OK)
                                    {
                                        if (!string.IsNullOrEmpty(f.ValorSelecionado))
                                        {
                                            dtLookUp_Retorno = f.RegistroSelecionado;
                                            this.Text        = f.ValorSelecionado;
                                            preencheCampoControlSource();
                                        }
                                        else
                                        {
                                            bRetorno = false;
                                        }
                                    }
                                    else
                                    {
                                        bRetorno = false;
                                    }
                                }
                                break;
                            }

                            f.Dispose();
                        }
                    }
                }
            }

            return(bRetorno);
        }
Example #21
0
        protected override void OnDataSourceChanged(EventArgs e)
        {
            if (bSource == null)
            {
                Funcoes func;
                if (func.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet)))
                {
                    f = (FormSet)Propriedades.FormMain.ActiveMdiChild;
                }

                //-- Seta os parametros visuais do grid.
                this.Parametros_Visuais();

                if (this.DataSource.GetType() == typeof(DataTable) || this.DataSource.GetType() == typeof(DataView))
                {
                    switch (this.DataSource.GetType().Name)
                    {
                    case "DataTable":
                        sTabela_Grid = ((DataTable)this.DataSource).TableName.ToLower();
                        break;

                    case "DataView":
                        sTabela_Grid = ((DataView)this.DataSource).Table.TableName.ToLower();
                        break;
                    }

                    bSource         = f.BindingSource[sTabela_Grid];
                    base.DataSource = bSource;
                }
                else if (this.DataSource.GetType() == typeof(BindingSource))
                {
                    bSource = this.DataSource as BindingSource;
                }

                base.OnDataSourceChanged(e);

                //-- Caso a auto geração de colunas estiver ativo
                //-- O sistema deverá retirar o _ das palavras.
                DataTable dt = ((DataTable)bSource.DataSource);
                foreach (DataGridViewColumn column in this.Columns)
                {
                    if (this.AutoGenerateColumns)
                    {
                        column.HeaderText = column.HeaderText.Replace("_", " ");
                    }
                    else
                    {
                        if (column.GetType() == typeof(DataGridViewTextBoxColumn))
                        {
                            DataGridViewTextBoxColumn       cc = column as DataGridViewTextBoxColumn;
                            CompSoft.Data.ManipulaRegistros mr = new CompSoft.Data.ManipulaRegistros();
                            cc.MaxInputLength = mr.Captura_MaxCaracter(dt.Columns[column.DataPropertyName]);
                        }

                        if (column.GetType() == typeof(DataGridViewCheckBoxColumn))
                        {
                            DataGridViewCheckBoxColumn cc = column as DataGridViewCheckBoxColumn;
                            cc.FalseValue         = false;
                            cc.IndeterminateValue = false;
                            cc.TrueValue          = true;
                        }
                    }
                }
            }
            else
            {
                base.DataSource = bSource;
            }
        }