private static ECFEntity FillEntityObject(ref FbDataReader DataReader) { ECFEntity entity = new ECFEntity(); FirebirdGetDbData getData = new FirebirdGetDbData(); entity.ID_ECF = getData.ConvertDBValueToInt32(DataReader, DataReader.GetOrdinal("ID_ECF")); entity.ECF_MOD = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("ECF_MOD")); entity.ECF_FAB = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("ECF_FAB")); entity.ECF_CX = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("ECF_CX")); return(entity); }
public ECFEntity Read() { 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_ECF", dbCnn); dbCommand.Transaction = ((FbTransaction)(dbTransaction)); } else { if (dbCnn == null) { dbCnn = ((FbConnection)GetConnectionDB()); } if (dbCnn.State == ConnectionState.Closed) { dbCnn.Open(); } dbCommand = new FbCommand("Rea_ECF", dbCnn); dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted); } dbCommand.CommandType = CommandType.StoredProcedure; reader = dbCommand.ExecuteReader(); ECFEntity 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; } }
public int Save(ECFEntity 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_ECF", dbCnn); dbCommand.Transaction = ((FbTransaction)(dbTransaction)); } else { if (dbCnn == null) { dbCnn = ((FbConnection)GetConnectionDB()); } if (dbCnn.State == ConnectionState.Closed) { dbCnn.Open(); } dbCommand = new FbCommand("Sav_ECF", dbCnn); dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted); } dbCommand.CommandType = CommandType.StoredProcedure; if (Entity.ID_ECF != null) { dbCommand.Parameters.AddWithValue("@ID_ECF", Entity.ID_ECF); //Coluna } else { dbCommand.Parameters.AddWithValue("@ID_ECF", DBNull.Value); //Coluna 3 } dbCommand.Parameters.AddWithValue("@ECF_MOD", Entity.ECF_MOD); //Coluna dbCommand.Parameters.AddWithValue("@ECF_FAB", Entity.ECF_FAB); //Coluna dbCommand.Parameters.AddWithValue("@ECF_CX", Entity.ECF_CX); //Coluna //Retorno da Procedure FbParameter returnValue; returnValue = dbCommand.CreateParameter(); dbCommand.Parameters[""].Direction = ParameterDirection.InputOutput; //Executando consulta dbCommand.ExecuteNonQuery(); result = int.Parse(dbCommand.Parameters[""].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); }