private List <EntIndicador> Popular(DbDataReader dtrDados) { List <EntIndicador> listEntReturn = new List <EntIndicador>(); EntIndicador entReturn; try { while (dtrDados.Read()) { entReturn = new EntIndicador(); entReturn.IdIndicador = ObjectUtils.ToInt(dtrDados["CDA_INDICADOR"]); entReturn.Indicador = ObjectUtils.ToString(dtrDados["TX_INDICADOR"]); entReturn.Data = ObjectUtils.ToDate(dtrDados["DT_DATA"]); entReturn.Valor = ObjectUtils.ToDecimal(dtrDados["NU_VALOR"]); entReturn.Moeda.IdMoeda = ObjectUtils.ToInt(dtrDados["CEA_MOEDA"]); entReturn.Moeda.Moeda = ObjectUtils.ToString(dtrDados["TX_MOEDA"]); entReturn.Ativo = ObjectUtils.ToBoolean(dtrDados["FL_ATIVO"]); listEntReturn.Add(entReturn); } dtrDados.Close(); } catch (Exception ex) { throw ex; } return(listEntReturn); }
public EntIndicador Remover(EntIndicador objIndicador, Int32 IdUsuario) { using (DbConnection connection = db.CreateConnection()) { connection.Open(); DbTransaction transaction = connection.BeginTransaction(); try { objIndicador.Ativo = !objIndicador.Ativo; dalIndicador.Remover(objIndicador, transaction, db); SaveLog(IdUsuario, EntLog.LOG_REMOVER, "Indicador", objIndicador.IdIndicador, objIndicador, transaction, db); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); SaveLog(IdUsuario, EntLog.LOG_ERRO, "Indicador", objIndicador.IdIndicador, objIndicador, ex.Message, db, connection); throw; } finally { connection.Close(); } } return objIndicador; }
public void Remover(EntIndicador objIndicador, DbTransaction transaction, Database db) { DbCommand dbCommand = db.GetStoredProcCommand("STP_IndicadorRemover"); dbCommand.CommandTimeout = BdConfig.CommmandTimeout; db.AddInParameter(dbCommand, "@CDA_INDICADOR", DbType.Int32, objIndicador.IdIndicador); db.AddInParameter(dbCommand, "@FL_ATIVO", DbType.Boolean, objIndicador.Ativo); db.ExecuteNonQuery(dbCommand, transaction); }
public void Alterar(EntIndicador objIndicador, DbTransaction transaction, Database db) { DbCommand dbCommand = db.GetStoredProcCommand("STP_IndicadorAlterar"); dbCommand.CommandTimeout = BdConfig.CommmandTimeout; db.AddInParameter(dbCommand, "@CDA_INDICADOR", DbType.Int32, objIndicador.IdIndicador); db.AddInParameter(dbCommand, "@TX_INDICADOR", DbType.String, objIndicador.Indicador); db.AddInParameter(dbCommand, "@DT_DATA", DbType.DateTime, objIndicador.Data); db.AddInParameter(dbCommand, "@NU_VALOR", DbType.Decimal, objIndicador.Valor); db.AddInParameter(dbCommand, "@CEA_MOEDA", DbType.Int32, IntUtils.ToIntNullProc(objIndicador.Moeda.IdMoeda)); db.AddInParameter(dbCommand, "@FL_ATIVO", DbType.Boolean, objIndicador.Ativo); db.ExecuteNonQuery(dbCommand, transaction); }
private decimal calculateRSIValues(List <BinanceSpotKline> prices, int periodLength, Int32 IdMoeda) { try { int lastBar = prices.Count - 1; int firstBar = lastBar - periodLength + 1; if (firstBar < 0) { String msg = "Quote history length " + prices.Count + " is insufficient to calculate the indicator."; throw new Exception(msg); } decimal aveGain = 0, aveLoss = 0; for (int bar = firstBar + 1; bar <= lastBar; bar++) { decimal change = prices[bar].Close - prices[bar - 1].Close; if (change >= 0) { aveGain += change; } else { aveLoss += change; } } decimal rs = aveGain / Math.Abs(aveLoss); decimal value = 100 - 100 / (1 + rs); EntIndicador objIndicador = new EntIndicador(); objIndicador.Ativo = true; objIndicador.Data = DateTime.Now; objIndicador.Indicador = "RSI"; objIndicador.Moeda.IdMoeda = IdMoeda; objIndicador.Valor = value; new BllIndicador().Inserir(objIndicador, EntUsuario.USUARIO_PADRAO); return(value); } catch { } return(50); }
public void Alterar(EntIndicador objIndicador, Int32 IdUsuario) { using (DbConnection connection = db.CreateConnection()) { connection.Open(); DbTransaction transaction = connection.BeginTransaction(); try { dalIndicador.Alterar(objIndicador, transaction, db); SaveLog(IdUsuario, EntLog.LOG_EDITAR, "Indicador", objIndicador.IdIndicador, objIndicador, transaction, db); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); SaveLog(IdUsuario, EntLog.LOG_ERRO, "Indicador", objIndicador.IdIndicador, objIndicador, ex.Message, db, connection); throw; } finally { connection.Close(); } } }
public EntIndicador ObterPorId(Int32 IdIndicador) { EntIndicador objIndicador = new EntIndicador(); using (DbConnection connection = db.CreateConnection()) { connection.Open(); DbTransaction transaction = connection.BeginTransaction(); try { objIndicador = dalIndicador.ObterPorId(IdIndicador, transaction, db); transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } return objIndicador; }