public Dictionary <string, string> GetResourcesConfigurations() { RefCountingDataReader objRefCountingDataReader = null; Dictionary <string, string> keyValuePairs = new Dictionary <string, string>(); try { var sqlHelper = GetDBConnection(3); objRefCountingDataReader = (RefCountingDataReader)sqlHelper.ExecuteReader("SPEND_GET_RESOURCES"); if (objRefCountingDataReader != null) { var sqlDr = (SqlDataReader)objRefCountingDataReader.InnerReader; while (sqlDr.Read()) { keyValuePairs.Add((string)sqlDr["ConfigKey"], (string)sqlDr["ConfigValue"]); } } } catch (Exception ex) { //SpendLoggerHelper.LogError(ex, "GetResourcesConfigurations", partnerCode, partnerCode, "QAWorkbenchDAO"); throw ex; } return(keyValuePairs); }
private SqlDataReader DirectCast(IDataReader reader) { //2016.06.21 paulus: can't use direct cast like these //SqlDataReader sqlReader = (SqlDataReader)reader;; // //ExecuteReader in EntLib wraps IDataReader into RefCountingDataReader, // RefCountingDataReader has InnerReader property that can cast to SqlDataReader. SqlDataReader sqlReader; RefCountingDataReader innerReader = (RefCountingDataReader)reader; sqlReader = (SqlDataReader)innerReader.InnerReader; return(sqlReader); }
/// <summary> /// Takes a command object and returns a sqldatareader object /// </summary> /// <param name="sqlCommand">SQLCommand</param> /// <returns>SqlDataReader</returns> public SqlDataReader ExecuteSQLReader(SqlCommand command) { if (command == null) { throw new ArgumentNullException("command"); } int timeout = CommandTimeOut; if (timeout > 0) { command.CommandTimeout = timeout; } RefCountingDataReader refdr = (RefCountingDataReader)db.ExecuteReader((DbCommand)command); //Database db = DatabaseFactory.CreateDatabase(_connectionString); return((SqlDataReader)refdr.InnerReader); }
public List <Recurso> GetRecursoAlocadoByEvento(DateTime data, string hora, Guid eventoId) { try { DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByEvento"); baseDados.AddInParameter(cmd, "@Evento", DbType.Guid, eventoId); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, hora); List <Recurso> listaRecursos = new List <Recurso>(); Recurso aux; RecursosDAO RecDAO = new RecursosDAO(); FaculdadesDAO faculDAO = new FaculdadesDAO(); using (RefCountingDataReader leitor = (RefCountingDataReader)baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { if (((SqlDataReader)leitor.InnerReader).HasRows) { aux = new Recurso(); CategoriaRecurso catRec = new CategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaId")), leitor.GetString(leitor.GetOrdinal("CatDescricao"))); aux.Categoria = catRec; aux.Descricao = leitor.GetString(leitor.GetOrdinal("Descricao")); aux.EstaDisponivel = leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")); List <HorarioBloqueado> listaHB = RecDAO.GetHorarioBloqueadoByRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId"))); aux.HorariosBloqueados = listaHB; aux.Id = leitor.GetGuid(leitor.GetOrdinal("RecursoId")); Faculdade facul = faculDAO.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("Vinculo"))); aux.Vinculo = facul; listaRecursos.Add(aux); } } } return(listaRecursos); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public List <HorariosEvento> GetHorariosEventosByIdDetalhados(Guid eventoId) { try { DbCommand cmd = baseDados.GetStoredProcCommand("HorariosEventosSelectById"); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, eventoId); List <HorariosEvento> listaAux = new List <HorariosEvento>(); HorariosEvento aux; // SqlDataReader sqlReader; // return listaAux; using (RefCountingDataReader leitor = ((RefCountingDataReader)baseDados.ExecuteReader(cmd))) { EventoDAO eventoDAO = new EventoDAO(); Evento evento; while (leitor.Read()) { if (((SqlDataReader)leitor.InnerReader).HasRows) { try { evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId"))); } catch (InvalidOperationException) { evento = null; } aux = HorariosEvento.GetHorariosEvento(leitor.GetGuid(leitor.GetOrdinal("HorariosEventoId")), evento, leitor.GetDateTime(leitor.GetOrdinal("Data")), leitor.GetString(leitor.GetOrdinal("HorarioInicio")), leitor.GetString(leitor.GetOrdinal("HorarioFim"))); listaAux.Add(aux); } } } if (listaAux != null) { List <HorariosEvento> listaFinal = new List <HorariosEvento>(); HorariosEvento heAux = null; foreach (HorariosEvento he in listaAux) { // A princípio, este ajuste não é mais necessário //if (he.HorarioInicio == "E ") // he.HorarioInicio = "EE"; //if (he.HorarioFim == "E ") // he.HorarioFim = "EE"; string[] lista = HorariosEvento.HorariosEntre(he.HorarioInicio, he.HorarioFim); foreach (string s in lista) { heAux = (HorariosEvento)he.Clone(); heAux.HorarioInicio = s; listaFinal.Add(heAux); } } return(listaFinal); } else { return(listaAux); } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }