コード例 #1
0
        public void ExecutaComandoSql(ModelPai model, TipoComando com)
        {
            string nomeProc = "";

            SqlParameter[] parametros = null;
            try
            {
                switch (com)
                {
                case TipoComando.insert:
                    parametros = this.BuscaNomeParametros(model, com);
                    nomeProc   = INICIO_PROC_INSERIR + model.getNomeTabela();
                    break;

                case TipoComando.update:
                    parametros = this.BuscaNomeParametros(model, com);
                    nomeProc   = INICIO_PROC_ALTERAR + model.getNomeTabela();
                    break;

                case TipoComando.delete:
                    parametros = this.BuscaNomeParametrosChavePrimaria(model);
                    nomeProc   = INICIO_PROC_EXCLUIR + model.getNomeTabela();
                    break;
                }
                this.objAcesso.ExecutaProcedure(nomeProc, parametros);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                parametros = null;
            }
        }
コード例 #2
0
        public override void ValidarInsere(ModelPai model)
        {
            mVenda modelVenda = (mVenda)model;

            this.ValidaDados(modelVenda);
            base.Insere(model);
        }
コード例 #3
0
        public override void ValidarInsere(ModelPai model)
        {
            mPeca mPeca = (mPeca)model;

            this.ValidaDados(mPeca);
            base.Insere(model);
        }
コード例 #4
0
        /// <summary>
        /// Varre o nome dos Parametros que estão no model através dos atributos
        /// </summary>
        /// <returns>Array de SqlParameter com os parametros para as procedures</returns>
        protected SqlParameter[] BuscaNomeParametros(ModelPai modelo, TipoComando tipoCom)
        {
            Type tipo = modelo.GetType();

            SqlParameter[] param = new SqlParameter[tipo.GetProperties().Length];
            object[]       cols;
            object         valor;

            PropertyInfo[] prop;
            try
            {
                prop = tipo.GetProperties();
                //Varre as propriedades
                //---------------------
                for (int contador = 0; contador < prop.Length; contador++)
                {
                    //Atribui os atributos de uma propriedade ao Array cols
                    //-----------------------------------------------------
                    cols = prop[contador].GetCustomAttributes(typeof(ColunasBancoDados), true);
                    if (cols.Length > 0)
                    {
                        ColunasBancoDados colunas = (ColunasBancoDados)cols[0];
                        if (tipoCom == TipoComando.insert)
                        {
                            if (colunas.ChavePrimaria == true && prop[contador].GetValue(modelo, null) == null)
                            {
                                continue;
                            }
                        }
                        valor = prop[contador].GetValue(modelo, null);
                        if (valor == null)
                        {
                            valor = DBNull.Value;
                        }
                        param[contador] = new SqlParameter("@" + colunas.NomeColuna, valor);
                    }
                }
                return(this.AjustaTamanhoArray(param));
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                param = null;
                cols  = null;
                prop  = null;
                valor = null;
            }
        }
コード例 #5
0
 /// <summary>
 /// Busca apenas um registro do banco
 /// </summary>
 /// <param name="model">Model com os dados e a tabela a ser buscado</param>
 public DataTable BuscaUmRegistro(ModelPai model)
 {
     SqlParameter[] parametros = null;
     try
     {
         parametros = this.BuscaNomeParametrosChavePrimaria(model);
         string nomeProc = INICIO_PROC_BUSCAR + model.getNomeTabela();
         return(this.objAcesso.BuscaDados(nomeProc, parametros));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #6
0
        /// <summary>
        /// Busca os parametros que são Chave Primaria
        /// </summary>
        /// <param name="tipo">Tipo do model</param>
        /// <param name="modelo">Model</param>
        /// <returns>os Parametros que são chave primaria</returns>
        private SqlParameter[] BuscaNomeParametrosChavePrimaria(ModelPai modelo)
        {
            Type tipo = modelo.GetType();
            List <SqlParameter> listaParametros = new List <SqlParameter>();

            SqlParameter[] param = null;
            object[]       cols;
            PropertyInfo[] prop;
            try
            {
                prop = tipo.GetProperties();
                //Varre as propriedades
                //---------------------
                for (int contador = 0; contador < prop.Length; contador++)
                {
                    //Atribui os atributos de uma propriedade ao Array cols
                    //-----------------------------------------------------
                    cols = prop[contador].GetCustomAttributes(typeof(ColunasBancoDados), true);
                    if (cols.Length > 0)
                    {
                        ColunasBancoDados colunas = (ColunasBancoDados)cols[0];
                        if (colunas.ChavePrimaria == true)
                        {
                            listaParametros.Add(new SqlParameter("@" + colunas.NomeColuna, prop[contador].GetValue(modelo, null)));
                        }
                    }
                }
                param = new SqlParameter[listaParametros.Count];
                for (int con = 0; con < listaParametros.Count; con++)
                {
                    param[con] = listaParametros[con];
                }
                return(param);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                param = null;
                cols  = null;
                prop  = null;
            }
        }
コード例 #7
0
        public override void ValidarInsere(ModelPai model)
        {
            mUsuario modelUsu = (mUsuario)model;

            try
            {
                this.ValidaDados(modelUsu);
                base.Insere(modelUsu);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                modelUsu = null;
            }
        }
コード例 #8
0
 /// <summary>
 /// Altera os dados no banco.
 /// </summary>
 /// <param name="model">Model com os dados e a tabela a ser Alterado</param>
 public void Altera(ModelPai model)
 {
     this.ExecutaComandoSql(model, TipoComando.update);
 }
コード例 #9
0
 /// <summary>
 /// Delete os dados no banco.
 /// </summary>
 /// <param name="model">Model com os dados e a tabela a ser Deletado</param>
 public void Deleta(ModelPai model)
 {
     this.ExecutaComandoSql(model, TipoComando.delete);
 }
コード例 #10
0
 public override void ValidarInsere(ModelPai model)
 {
     this.ValidaDados((mFamiliaMotor)model);
     base.Insere(model);
 }
コード例 #11
0
 public override void ValidarInsere(ModelPai model)
 {
     this.ValidaDados((mDepartamento)model);
     base.Insere(model);
 }
コード例 #12
0
 public override void ValidarDeleta(ModelPai model)
 {
     base.Deleta(model);
 }
コード例 #13
0
 public override void ValidarInsere(ModelPai model)
 {
     this.ValidaDados((mKitGrupoPeca)model);
     base.Insere(model);
 }
コード例 #14
0
 public override void ValidarInsere(ModelPai model)
 {
     this.ValidaDados((mColaborador)model, false);
     base.Insere(model);
 }
コード例 #15
0
 public DataTable BuscaUmRegistro(ModelPai model)
 {
     return(base.BuscaUmRegistro(model));
 }
コード例 #16
0
 public abstract void ValidarInsere(ModelPai model);
コード例 #17
0
 public abstract void ValidarDeleta(ModelPai model);
コード例 #18
0
 public override void ValidarAltera(ModelPai model)
 {
     base.Altera(model);
 }
コード例 #19
0
 public abstract void ValidarAltera(ModelPai model);
コード例 #20
0
 public override void ValidarInsere(ModelPai model)
 {
     base.Insere(model);
 }
コード例 #21
0
 public override void ValidarInsere(ModelPai model)
 {
     this.ValidaDados((mItem)model);
     base.Insere(model);
 }
コード例 #22
0
 /// <summary>
 /// Insere os dados no banco.
 /// </summary>
 /// <param name="model">Model com os dados e a tabela a ser inserido</param>
 public void Insere(ModelPai model)
 {
     this.ExecutaComandoSql(model, TipoComando.insert);
 }
コード例 #23
0
 public override void ValidarDeleta(ModelPai model)
 {
     throw new NotImplementedException();
 }
コード例 #24
0
        public override void ValidarInsere(ModelPai model)
        {
            ((mOrdemProducaoo)model).IdOrdemProd = this.BuscaIdMaximo();

            base.Insere(model);
        }