private static PRODUTOCOMPOSICAOEntity FillEntityObject(ref FbDataReader DataReader) { PRODUTOCOMPOSICAOEntity entity = new PRODUTOCOMPOSICAOEntity(); FirebirdGetDbData getData = new FirebirdGetDbData(); entity.IDPRODUTOCOMPOSICAO = getData.ConvertDBValueToInt32(DataReader, DataReader.GetOrdinal("IDPRODUTOCOMPOSICAO")); entity.IDFORNECEDOR = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("IDFORNECEDOR")); entity.IDPRODUTO = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("IDPRODUTO")); entity.QUANTIDADE = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("QUANTIDADE")); entity.IDUNIDADE = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("IDUNIDADE")); entity.VALOR = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("VALOR")); entity.IDPRODUTOMAIN = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("IDPRODUTOMAIN")); entity.VALORTOTAL = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("VALORTOTAL")); entity.FLAGEXIBIR = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("FLAGEXIBIR")); entity.FLAGMATERIAPRIMA = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("FLAGMATERIAPRIMA")); entity.FLAGMETRO2 = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("FLAGMETRO2")); entity.ALTURA = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("ALTURA")); entity.LARGURA = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("LARGURA")); return(entity); }
public PRODUTOCOMPOSICAOEntity Read(int IDPRODUTOCOMPOSICAO) { 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_PRODUTOCOMPOSICAO", dbCnn); dbCommand.Transaction = ((FbTransaction)(dbTransaction)); } else { if (dbCnn == null) { dbCnn = ((FbConnection)GetConnectionDB()); } if (dbCnn.State == ConnectionState.Closed) { dbCnn.Open(); } dbCommand = new FbCommand("Rea_PRODUTOCOMPOSICAO", dbCnn); dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted); } dbCommand.CommandType = CommandType.StoredProcedure; dbCommand.Parameters.AddWithValue("@IDPRODUTOCOMPOSICAO", IDPRODUTOCOMPOSICAO); //PrimaryKey reader = dbCommand.ExecuteReader(); PRODUTOCOMPOSICAOEntity 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(PRODUTOCOMPOSICAOEntity 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_PRODUTOCOMPOSICAO", dbCnn); dbCommand.Transaction = ((FbTransaction)(dbTransaction)); } else { if (dbCnn == null) { dbCnn = ((FbConnection)GetConnectionDB()); } if (dbCnn.State == ConnectionState.Closed) { dbCnn.Open(); } dbCommand = new FbCommand("Sav_PRODUTOCOMPOSICAO", dbCnn); dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted); } dbCommand.CommandType = CommandType.StoredProcedure; //PrimaryKey com valor igual a null, indica um novo registro, //o valor da chave será fornecido pelo banco. Qualquer outro valor indicará edição do registro. if (Entity.IDPRODUTOCOMPOSICAO == -1) { dbCommand.Parameters.AddWithValue("@IDPRODUTOCOMPOSICAO", DBNull.Value); } else { dbCommand.Parameters.AddWithValue("@IDPRODUTOCOMPOSICAO", Entity.IDPRODUTOCOMPOSICAO); } if (Entity.IDFORNECEDOR != null) { dbCommand.Parameters.AddWithValue("@IDFORNECEDOR", Entity.IDFORNECEDOR); //ForeignKey } else { dbCommand.Parameters.AddWithValue("@IDFORNECEDOR", DBNull.Value); //ForeignKey 5 } if (Entity.IDPRODUTO != null) { dbCommand.Parameters.AddWithValue("@IDPRODUTO", Entity.IDPRODUTO); //ForeignKey } else { dbCommand.Parameters.AddWithValue("@IDPRODUTO", DBNull.Value); //ForeignKey 5 } dbCommand.Parameters.AddWithValue("@QUANTIDADE", Entity.QUANTIDADE); //Coluna if (Entity.IDUNIDADE != null) { dbCommand.Parameters.AddWithValue("@IDUNIDADE", Entity.IDUNIDADE); //ForeignKey } else { dbCommand.Parameters.AddWithValue("@IDUNIDADE", DBNull.Value); //ForeignKey 5 } dbCommand.Parameters.AddWithValue("@VALOR", Entity.VALOR); //Coluna if (Entity.IDPRODUTOMAIN != null) { dbCommand.Parameters.AddWithValue("@IDPRODUTOMAIN", Entity.IDPRODUTOMAIN); //ForeignKey } else { dbCommand.Parameters.AddWithValue("@IDPRODUTOMAIN", DBNull.Value); //ForeignKey 5 } dbCommand.Parameters.AddWithValue("@VALORTOTAL", Entity.VALORTOTAL); //Coluna dbCommand.Parameters.AddWithValue("@FLAGEXIBIR", Entity.FLAGEXIBIR); //Coluna dbCommand.Parameters.AddWithValue("@FLAGMATERIAPRIMA", Entity.FLAGMATERIAPRIMA); //Coluna dbCommand.Parameters.AddWithValue("@FLAGMETRO2", Entity.FLAGMETRO2); //Coluna dbCommand.Parameters.AddWithValue("@ALTURA", Entity.ALTURA); //Coluna dbCommand.Parameters.AddWithValue("@LARGURA", Entity.LARGURA); //Coluna //Retorno da Procedure FbParameter returnValue; returnValue = dbCommand.CreateParameter(); dbCommand.Parameters["@IDPRODUTOCOMPOSICAO"].Direction = ParameterDirection.InputOutput; //Executando consulta dbCommand.ExecuteNonQuery(); result = int.Parse(dbCommand.Parameters["@IDPRODUTOCOMPOSICAO"].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); }