public static Panel Attr_Formulário_Genérico(Panel Panel_Genérico, object Instância_Genérica)
        {
            string Tipo_Campo;
            string Nome_Campo;
            string Campo_Identity;

            Campo_Identity = Reflection_BLL.Acha_Campo_Identity(Instância_Genérica.GetType().Name);

            for (int i = 0; i < Panel_Genérico.Controls.Count; i++)
            {
                // Descobre o tipo do controle (label, textbox, button ou qualquer outro)
                Tipo_Campo = Panel_Genérico.Controls[i].Name.Substring(0, 3);

                // A partir do nome do controle(ex: grpFREQUENTADORESsexo), essa função vai retornar "sexo", que é a propriedade
                Nome_Campo = Funções.fncRetornaNomePropriedade(Instância_Genérica.GetType().Name, Panel_Genérico.Controls[i].Name);

                // Padroniza o nome do campo para ficar igual ao nome da propriedade(ex: De "nome_crachá" Para "Nome_Crachá"
                Nome_Campo = Funções.fncConverteControle_Classe(Nome_Campo);

                try
                {
                    // Permite acessar a propriedade em questão
                    Propriedade_Genérica = Instância_Genérica.GetType().GetProperty(Nome_Campo);

                    switch (Tipo_Campo)
                    {
                    case "txt":
                        Attr_TextBox_Genérico(Panel_Genérico.Controls[i], Instância_Genérica);
                        break;

                    case "cmb":
                        Attr_ComboBox_Genérico(Panel_Genérico.Controls[i], Instância_Genérica);
                        break;

                    case "grp":
                        Attr_GroupBox_Genérico(Panel_Genérico.Controls[i], Instância_Genérica);
                        break;
                    }
                    // Se o campo for identity no banco de dados, o mesmo é desabilitado.
                    if (Nome_Campo == Campo_Identity)
                    {
                        Panel_Genérico.Controls[i].Enabled = false;
                    }
                }
                catch (Exception Err)
                {
                    string teste = Err.Message;
                }
            }
            return(Panel_Genérico);
        }
Exemplo n.º 2
0
        public static object IN_Classe_Genérico(Panel Panel_Genérico)   // Seta todos os valores de um formulário para uma classe
        {
            // Descobre qual é a classe que será utilizada
            string Nome_Classe = Funções.fncRetornaParteMaiúscula(Panel_Genérico.Controls[0].Name);

            string Tipo_Campo;
            string Nome_Campo;

            // Instancia o objeto classe
            object Instância_Genérica = Reflection.InstanciaClasse(Nome_Classe);

            // Percorre todos os controles (labels,textbox, buttons, etc) que pertencem ao formulário
            for (int i = 0; i < Panel_Genérico.Controls.Count; i++)
            {
                // Descobre o tipo do controle (label, textbox, button ou qualquer outro)
                Tipo_Campo = Panel_Genérico.Controls[i].Name.Substring(0, 3);

                // A partir do nome do controle(ex: grpFREQUENTADORESsexo), essa função vai retornar "sexo", que é a propriedade
                Nome_Campo = Funções.fncRetornaNomePropriedade(Nome_Classe, Panel_Genérico.Controls[i].Name);

                // Converte o nome "sexo" para "Sexo", ou um nome "data_situação"para "Data_Situação. Isso é para que fique igual ao nome da propriedade da classe
                Nome_Campo = Funções.fncConverteControle_Classe(Nome_Campo);

                // Permite acessar a propriedade em questão
                Propriedade_Genérica = Instância_Genérica.GetType().GetProperty(Nome_Campo);

                // Verifica se o controle em questão, pertence a alguma propriedade da classe
                if (Propriedade_Genérica != null)
                {
                    switch (Tipo_Campo)
                    {
                    case "txt":
                        IN_Propriedade_Genérico(Propriedade_Genérica, Panel_Genérico.Controls[i].Text, Instância_Genérica);     // Método que insere na propriedade da classe instanciada o valor que está no controle
                        break;

                    case "cmb":
                        IN_Propriedade_ComboBox_Genérico(Propriedade_Genérica, Panel_Genérico.Controls[i], Instância_Genérica);
                        break;

                    case "grp":
                        IN_Propriedade_GroupBox_Genérico(Propriedade_Genérica, Panel_Genérico.Controls[i], Instância_Genérica);
                        break;
                    }
                }
            }

            return(Instância_Genérica);
        }
        public static void Attr_RadioButton_Genérico(Control GroupBox_Genérico, object Instância_Genérica)
        {
            string      Nome_Controle;
            RadioButton RadioButton_Genérico;

            for (int i = 0; i < GroupBox_Genérico.Controls.Count; i++)
            {
                Nome_Controle = Funções.fncRetornaNomePropriedade(Instância_Genérica.GetType().Name, GroupBox_Genérico.Controls[i].Name);
                if (Nome_Controle.ToUpper() == Propriedade_Genérica.GetValue(Instância_Genérica, null).ToString())
                {
                    RadioButton_Genérico         = (RadioButton)GroupBox_Genérico.Controls[i];
                    RadioButton_Genérico.Checked = true;
                }
                break;
            }
        }
Exemplo n.º 4
0
        private static void IN_Propriedade_RadioButton_Genérico(PropertyInfo Propriedade_Genérica, Control GroupBox_Genérico, object Instância_Genérica)
        {
            RadioButton RadioButton_Genérico;
            string      Nome_RadioButton_Genérico;

            for (int i = 0; i < GroupBox_Genérico.Controls.Count; i++)
            {
                RadioButton_Genérico = (RadioButton)GroupBox_Genérico.Controls[i];

                if (RadioButton_Genérico.Checked == true)
                {
                    Nome_RadioButton_Genérico = Funções.fncConverteControle_Classe(RadioButton_Genérico.Name.Substring(3 + Instância_Genérica.GetType().Name.Length, RadioButton_Genérico.Name.Length - 3 - Instância_Genérica.GetType().Name.Length));

                    // Método que insere na propriedade da classe instanciada o valor que está no controle
                    IN_Propriedade_Genérico(Propriedade_Genérica, Nome_RadioButton_Genérico, Instância_Genérica);

                    // Este comando sai do método
                    break;
                }
            }
        }
        public static void Attr_ComboBox_Genérico(Control Controle_Genérico, object Instância_Genérica)
        {
            string   Nome_Campo;
            object   Item_ComboBox;
            int      Contador          = 0;
            ComboBox ComboBox_Genérico = (ComboBox)Controle_Genérico;

            // A partir do nome do controle(ex: grpFREQUENTADORESsexo), essa função vai retornar "sexo", que é a propriedade
            Nome_Campo = Funções.fncRetornaNomePropriedade(Instância_Genérica.GetType().Name, Controle_Genérico.Name);

            // Padroniza o nome do campo para ficar igual ao nome da propriedade(ex: De "nome_crachá" Para "Nome_Crachá"
            Nome_Campo = Funções.fncConverteControle_Classe(Nome_Campo);

            // Instancia o objeto classe
            Instância_Genérica = Reflection.InstanciaClasse(Nome_Campo);

            Type Tipo_Genérico = Instância_Genérica.GetType();

            // Retorna uma coleção de objetos para preencher a combobox
            ALDAL.LL_Genérico("*", Nome_Campo);

            // Lê o primeiro registro do Select
            ALDAL.Lê_Registro_Genérico(Instância_Genérica);

            while (Erro.getErro() == false)
            {
                // Invoca o método da classe que compõe a string a ser inserida na combobox
                Item_ComboBox = Tipo_Genérico.InvokeMember("insereRegistro_ComboBox",
                                                           BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance, null, Instância_Genérica, new object[] { });

                // Finalmente insere o item na ComboBox
                ComboBox_Genérico.Items.Insert(Contador, Item_ComboBox);

                // Lê o próximo registro do Select
                ALDAL.Lê_Registro_Genérico(Instância_Genérica);

                Contador++;
            }
        }
Exemplo n.º 6
0
        private void btn_genérico_Click(object sender, EventArgs e)
        {
            //Instancia o formulário
            frmTipos_CadastrosFichaIHM UmFormulário = new frmTipos_CadastrosFichaIHM();

            //Retirando as três primeiras letras do nome do formulário, obteremos o nome da classe
            UmFormulário.Formulário.Nome_classe = this.GetType().Name.Substring(3, this.GetType().Name.Length - 3);

            //Exemplos: btnTIPOS_CADASTROSincluir, retorna 'I', btnTIPOS_CADASTROSalterar, retorna 'A' e assim por diante
            UmFormulário.Formulário.Status = Funções.fncRetornaNomePropriedade(UmFormulário.Formulário.Nome_classe,
                                                                               (sender as Button).Name) //O segundo parâmetro manda o nome do botão Exemplo: btnTIPOS_CADASTROSincluir
                                             .Substring(0, 1)
                                             .ToUpper();

            //Armazena o código do registro a ser alterado/consultado ou excluído
            if (UmFormulário.Formulário.Status != "I")
            {
                UmFormulário.Formulário.Código = Int64.Parse(dgvTIPOS_CADASTROS[0, dgvTIPOS_CADASTROS.CurrentCell.RowIndex].Value.ToString());
            }

            //Abre o formulário
            UmFormulário.Show();
        }