Пример #1
0
        private static CAMPOSTABULADOREntity FillEntityObject(ref FbDataReader DataReader)
        {
            CAMPOSTABULADOREntity entity = new CAMPOSTABULADOREntity();

            FirebirdGetDbData getData = new FirebirdGetDbData();

            entity.IDCAMPOTABULADOR = getData.ConvertDBValueToInt32(DataReader, DataReader.GetOrdinal("IDCAMPOTABULADOR"));
            entity.FLAGNEGRITO      = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("FLAGNEGRITO"));
            entity.TAMANHO          = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("TAMANHO"));
            entity.LINHA            = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("LINHA"));
            entity.COLUNA           = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("COLUNA"));
            entity.IDTABULADOR      = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("IDTABULADOR"));
            entity.TAMCAMPO         = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("TAMCAMPO"));
            entity.IDCAMPOIMPTAB    = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("IDCAMPOIMPTAB"));
            entity.IDFONTE          = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("IDFONTE"));
            entity.VALORCAMPO       = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("VALORCAMPO"));


            return(entity);
        }
Пример #2
0
        public CAMPOSTABULADOREntity Read(int IDCAMPOTABULADOR)
        {
            FbDataReader reader = null;

            try
            {
                //Verificando a existência de um transação aberta
                if (dbTransaction != null)
                {
                    if (dbCnn.State == ConnectionState.Closed)
                    {
                        dbCnn.Open();
                    }

                    dbCommand             = new FbCommand("Rea_CAMPOSTABULADOR", dbCnn);
                    dbCommand.Transaction = ((FbTransaction)(dbTransaction));
                }
                else
                {
                    if (dbCnn == null)
                    {
                        dbCnn = ((FbConnection)GetConnectionDB());
                    }

                    if (dbCnn.State == ConnectionState.Closed)
                    {
                        dbCnn.Open();
                    }

                    dbCommand             = new FbCommand("Rea_CAMPOSTABULADOR", dbCnn);
                    dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted);
                }

                dbCommand.CommandType = CommandType.StoredProcedure;

                dbCommand.Parameters.AddWithValue("@IDCAMPOTABULADOR", IDCAMPOTABULADOR);                //PrimaryKey


                reader = dbCommand.ExecuteReader();

                CAMPOSTABULADOREntity entity = null;
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        entity = FillEntityObject(ref reader);
                    }
                }

                // Deleta reader
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }

                // Fecha conexão
                if (dbTransaction == null)
                {
                    dbCommand.Transaction.Commit();
                    if (dbCnn.State == ConnectionState.Open)
                    {
                        dbCnn.Close();
                    }
                }

                return(entity);
            }
            catch (Exception ex)
            {
                // Deleta reader
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }

                if (dbTransaction != null)
                {
                    this.RollbackTransaction();
                }
                else
                {
                    if (dbCommand.Transaction != null)
                    {
                        dbCommand.Transaction.Rollback();
                    }
                    if (dbCnn.State == ConnectionState.Open)
                    {
                        dbCnn.Close();
                    }
                }

                throw ex;
            }
        }
Пример #3
0
        public int Save(CAMPOSTABULADOREntity Entity)
        {
            int result = 0;

            try
            {
                //Verificando a existência de um transação aberta
                if (dbTransaction != null)
                {
                    if (dbCnn.State == ConnectionState.Closed)
                    {
                        dbCnn.Open();
                    }

                    dbCommand             = new FbCommand("Sav_CAMPOSTABULADOR", dbCnn);
                    dbCommand.Transaction = ((FbTransaction)(dbTransaction));
                }
                else
                {
                    if (dbCnn == null)
                    {
                        dbCnn = ((FbConnection)GetConnectionDB());
                    }

                    if (dbCnn.State == ConnectionState.Closed)
                    {
                        dbCnn.Open();
                    }

                    dbCommand             = new FbCommand("Sav_CAMPOSTABULADOR", dbCnn);
                    dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted);
                }

                dbCommand.CommandType = CommandType.StoredProcedure;


                if (Entity.IDCAMPOTABULADOR != -1)
                {
                    dbCommand.Parameters.AddWithValue("@IDCAMPOTABULADOR", Entity.IDCAMPOTABULADOR); //PrimaryKey
                }
                else
                {
                    dbCommand.Parameters.AddWithValue("@IDCAMPOTABULADOR", DBNull.Value);  //PrimaryKey
                }
                dbCommand.Parameters.AddWithValue("@FLAGNEGRITO", Entity.FLAGNEGRITO);     //Coluna
                dbCommand.Parameters.AddWithValue("@TAMANHO", Entity.TAMANHO);             //Coluna
                dbCommand.Parameters.AddWithValue("@LINHA", Entity.LINHA);                 //Coluna
                dbCommand.Parameters.AddWithValue("@COLUNA", Entity.COLUNA);               //Coluna
                dbCommand.Parameters.AddWithValue("@IDTABULADOR", Entity.IDTABULADOR);     //Coluna
                dbCommand.Parameters.AddWithValue("@TAMCAMPO", Entity.TAMCAMPO);           //Coluna
                dbCommand.Parameters.AddWithValue("@IDCAMPOIMPTAB", Entity.IDCAMPOIMPTAB); //Coluna
                dbCommand.Parameters.AddWithValue("@IDFONTE", Entity.IDFONTE);             //Coluna
                dbCommand.Parameters.AddWithValue("@VALORCAMPO", Entity.VALORCAMPO);       //Coluna



                //Retorno da Procedure
                FbParameter returnValue;
                returnValue = dbCommand.CreateParameter();

                dbCommand.Parameters["@IDCAMPOTABULADOR"].Direction = ParameterDirection.InputOutput;


                //Executando consulta
                dbCommand.ExecuteNonQuery();

                result = int.Parse(dbCommand.Parameters["@IDCAMPOTABULADOR"].Value.ToString());


                if (dbTransaction == null)
                {
                    dbCommand.Transaction.Commit();
                    dbCnn.Close();
                }
            }
            catch (Exception ex)
            {
                if (dbTransaction != null)
                {
                    this.RollbackTransaction();
                }
                else
                {
                    if (dbCommand.Transaction != null)
                    {
                        dbCommand.Transaction.Rollback();
                    }
                    if (dbCnn.State == ConnectionState.Open)
                    {
                        dbCnn.Close();
                    }
                }

                throw ex;
            }

            return(result);
        }