private static JUROSDUPLICATASEntity FillEntityObject(ref FbDataReader DataReader) { JUROSDUPLICATASEntity entity = new JUROSDUPLICATASEntity(); FirebirdGetDbData getData = new FirebirdGetDbData(); entity.IDJUROSDUPLICATA = getData.ConvertDBValueToInt32(DataReader, DataReader.GetOrdinal("IDJUROSDUPLICATA")); entity.MULTAATRASO = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("MULTAATRASO")); entity.JUROSDIA = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("JUROSDIA")); entity.TAXA = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("TAXA")); entity.OUTRAS = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("OUTRAS")); entity.FLAGCALCULAR = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("FLAGCALCULAR")); return(entity); }
//Percorre a coleção calculando juros de atraso public void SumJuroDuplicata() { JUROSDUPLICATASEntity JUROSDUPLICATASty = new JUROSDUPLICATASEntity(); JUROSDUPLICATASProvider JUROSDUPLICATASP = new JUROSDUPLICATASProvider(); JUROSDUPLICATASty = JUROSDUPLICATASP.Read(1);//1 Contas a Pagar foreach (LIS_DUPLICATAPAGAREntity item in LIS_DUPLICATAPAGARColl) { //Somente calcula juros de duplicatas que não foram atualizada no dia // e vencidas //string DataAtual = DateTime.Now.ToString("dd/MM/yyyy"); //string DataAtDupl = Convert.ToDateTime(item.DATAATJUROS).ToString("dd/MM/yyyy"); //if (item.DATAVECTO < DateTime.Now && Convert.ToDateTime(DataAtDupl) < Convert.ToDateTime(DataAtual) // && item.IDSTATUS != 3) if (item.DATAVECTO < Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")) && item.IDSTATUS != 3) { //Calculo de dias de vencimento TimeSpan date = Convert.ToDateTime(DateTime.Now) - Convert.ToDateTime(item.DATAVECTO); int DIASATRASO = date.Days; if (DIASATRASO > 0) { item.DIASATRASO = DIASATRASO; } else { item.DIASATRASO = 0; } item.DATAATJUROS = DateTime.Now; if (JUROSDUPLICATASty.FLAGCALCULAR == "S") { //Calculo o juros de atraso decimal PorcJuros = Convert.ToDecimal(JUROSDUPLICATASty.JUROSDIA * item.DIASATRASO); PorcJuros = PorcJuros / 100; if (item.IDSTATUS != 4) //4 Parcial { item.VALORJUROS = item.VALORDUPLICATA * PorcJuros; } else { item.VALORJUROS = item.VALORDEVEDOR * PorcJuros; } if (item.IDSTATUS != 4) //4 Parcial { item.VALORDEVEDOR = item.VALORJUROS + JUROSDUPLICATASty.MULTAATRASO + JUROSDUPLICATASty.TAXA + JUROSDUPLICATASty.OUTRAS + item.VALORDUPLICATA; } else { item.VALORDEVEDOR = item.VALORJUROS + JUROSDUPLICATASty.MULTAATRASO + JUROSDUPLICATASty.TAXA + JUROSDUPLICATASty.OUTRAS + item.VALORDEVEDOR; } item.VALORMULTA = JUROSDUPLICATASty.MULTAATRASO + JUROSDUPLICATASty.TAXA + JUROSDUPLICATASty.OUTRAS; } //Salvando no banco DUPLICATAPAGAREntity DUPLICATAPAGAR_Sav_Ty = new DUPLICATAPAGAREntity(); DUPLICATAPAGAR_Sav_Ty = DUPLICATAPAGARP.Read(Convert.ToInt32(item.IDDUPLICATAPAGAR)); if (DIASATRASO > 0 && DUPLICATAPAGAR_Sav_Ty.IDSTATUS != 4) // 4 Parcial { DUPLICATAPAGAR_Sav_Ty.IDSTATUS = 2; //Vencida } DUPLICATAPAGAR_Sav_Ty.VALORJUROS = item.VALORJUROS; DUPLICATAPAGAR_Sav_Ty.VALORDEVEDOR = item.VALORDEVEDOR; DUPLICATAPAGAR_Sav_Ty.VALORMULTA = item.VALORMULTA; DUPLICATAPAGAR_Sav_Ty.DIASATRASO = item.DIASATRASO; DUPLICATAPAGAR_Sav_Ty.DATAATJUROS = item.DATAATJUROS; DUPLICATAPAGARP.Save(DUPLICATAPAGAR_Sav_Ty); } } }
private void FrmJurosContasPagar_Load(object sender, EventArgs e) { this.MinimizeBox = false; this.FormBorderStyle = FormBorderStyle.FixedDialog; //2 Juros de Contas a receber Entity = JUROSDUPLICATASP.Read(2); }
public JUROSDUPLICATASEntity Read(int IDJUROSDUPLICATA) { 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_JUROSDUPLICATAS", dbCnn); dbCommand.Transaction = ((FbTransaction)(dbTransaction)); } else { if (dbCnn == null) { dbCnn = ((FbConnection)GetConnectionDB()); } if (dbCnn.State == ConnectionState.Closed) { dbCnn.Open(); } dbCommand = new FbCommand("Rea_JUROSDUPLICATAS", dbCnn); dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted); } dbCommand.CommandType = CommandType.StoredProcedure; dbCommand.Parameters.AddWithValue("@IDJUROSDUPLICATA", IDJUROSDUPLICATA); //PrimaryKey reader = dbCommand.ExecuteReader(); JUROSDUPLICATASEntity 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(JUROSDUPLICATASEntity 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_JUROSDUPLICATAS", dbCnn); dbCommand.Transaction = ((FbTransaction)(dbTransaction)); } else { if (dbCnn == null) { dbCnn = ((FbConnection)GetConnectionDB()); } if (dbCnn.State == ConnectionState.Closed) { dbCnn.Open(); } dbCommand = new FbCommand("Sav_JUROSDUPLICATAS", dbCnn); dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted); } dbCommand.CommandType = CommandType.StoredProcedure; if (Entity.IDJUROSDUPLICATA != -1) { dbCommand.Parameters.AddWithValue("@IDJUROSDUPLICATA", Entity.IDJUROSDUPLICATA); //PrimaryKey } else { dbCommand.Parameters.AddWithValue("@IDJUROSDUPLICATA", DBNull.Value); //PrimaryKey } dbCommand.Parameters.AddWithValue("@MULTAATRASO", Entity.MULTAATRASO); //Coluna dbCommand.Parameters.AddWithValue("@JUROSDIA", Entity.JUROSDIA); //Coluna dbCommand.Parameters.AddWithValue("@TAXA", Entity.TAXA); //Coluna dbCommand.Parameters.AddWithValue("@OUTRAS", Entity.OUTRAS); //Coluna dbCommand.Parameters.AddWithValue("@FLAGCALCULAR", Entity.FLAGCALCULAR); //Coluna //Retorno da Procedure FbParameter returnValue; returnValue = dbCommand.CreateParameter(); dbCommand.Parameters["@IDJUROSDUPLICATA"].Direction = ParameterDirection.InputOutput; //Executando consulta dbCommand.ExecuteNonQuery(); result = int.Parse(dbCommand.Parameters["@IDJUROSDUPLICATA"].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); }