public int Save(DATACOMEMORATIVAEntity 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_DATACOMEMORATIVA", dbCnn); dbCommand.Transaction = ((FbTransaction)(dbTransaction)); } else { if (dbCnn == null) dbCnn = ((FbConnection)GetConnectionDB()); if (dbCnn.State == ConnectionState.Closed) dbCnn.Open(); dbCommand = new FbCommand("Sav_DATACOMEMORATIVA", dbCnn); dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted); } dbCommand.CommandType = CommandType.StoredProcedure; if(Entity.IDDATACOMEMORATIVA!= -1) dbCommand.Parameters.AddWithValue("@IDDATACOMEMORATIVA",Entity.IDDATACOMEMORATIVA); //PrimaryKey else dbCommand.Parameters.AddWithValue("@IDDATACOMEMORATIVA", DBNull.Value); //PrimaryKey dbCommand.Parameters.AddWithValue("@IDCLIENTE", Entity.IDCLIENTE); //Coluna dbCommand.Parameters.AddWithValue("@IDPARENTESCO", Entity.IDPARENTESCO); //Coluna dbCommand.Parameters.AddWithValue("@IDOCASIAO", Entity.IDOCASIAO); //Coluna dbCommand.Parameters.AddWithValue("@DATACOM", Entity.DATACOM); //Coluna dbCommand.Parameters.AddWithValue("@OBSERVACAO", Entity.OBSERVACAO); //Coluna dbCommand.Parameters.AddWithValue("@NOMECOMEMORATIVO", Entity.NOMECOMEMORATIVO); //Coluna //Retorno da Procedure FbParameter returnValue; returnValue = dbCommand.CreateParameter(); dbCommand.Parameters["@IDDATACOMEMORATIVA"].Direction = ParameterDirection.InputOutput; //Executando consulta dbCommand.ExecuteNonQuery(); result = int.Parse(dbCommand.Parameters["@IDDATACOMEMORATIVA"].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; }