public List <Recurso> GetRecursosDisponiveis(DateTime data, string hora) { List <Recurso> alocados = GetRecursosAlocados(data, hora); try { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectDisponiveis"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, hora); List <Recurso> resultado = new List <Recurso>(); Recurso aux = null; FaculdadesDAO faculDao = new FaculdadesDAO(); CategoriaRecursoDAO categoriaDao = new CategoriaRecursoDAO(); List <HorarioBloqueado> listaHB = new List <HorarioBloqueado>(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { //Debug.WriteLine("Total de alocados:" + alocados.Count); while (leitor.Read()) { Guid recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId")); // Verifica se algum dos recursos alocados bloqueia este recurso bool block = false; foreach (Recurso alocado in alocados) { // Em caso positivo, nao insere este na lista de disponiveis if (alocado.Bloqueia1 == recursoId || alocado.Bloqueia2 == recursoId) { //Debug.WriteLine("Bloqueado: " + recursoId + " por " + alocado.Descricao); block = true; break; } } if (block) { continue; } listaHB = this.GetHorarioBloqueadoByRecurso(recursoId); Faculdade facul = faculDao.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("Vinculo"))); CategoriaRecurso categoria = categoriaDao.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaId"))); string descricao = leitor.GetString(leitor.GetOrdinal("Descricao")); bool disponivel = leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")); Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); aux = Recurso.GetRecurso(recursoId, descricao, facul, categoria, disponivel, block1, block2, listaHB); resultado.Add(aux); } } return(resultado); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public List <Entities.CategoriaDisciplina> GetCategoriaDisciplinas() { DbCommand cmd = baseDados.GetStoredProcCommand("CategoriasDisciplinaSelect"); Entities.CategoriaDisciplina aux; List <Entities.CategoriaDisciplina> listaAux = new List <BusinessData.Entities.CategoriaDisciplina>(); try { using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { CategoriaRecursoDAO crDao = new CategoriaRecursoDAO(); while (leitor.Read()) { Guid id = leitor.GetGuid(leitor.GetOrdinal("DisciplinaId")); string nome = leitor.GetString(leitor.GetOrdinal("Nome")); Dictionary <CategoriaRecurso, double> prioridades = new Dictionary <CategoriaRecurso, double>(); DbCommand cmd2 = baseDados.GetStoredProcCommand("CategoriasDisciplinaSelectPrioridadesById"); baseDados.AddInParameter(cmd2, "@Id", DbType.Guid, id); try { using (IDataReader leitor2 = baseDados.ExecuteReader(cmd2)) { while (leitor2.Read()) { CategoriaRecurso cat = crDao.GetCategoriaRecurso(leitor2.GetGuid(leitor2.GetOrdinal("CatRecursoId"))); double value = leitor2.GetDouble(leitor2.GetOrdinal("prioridade")); prioridades.Add(cat, value); } } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } aux = Entities.CategoriaDisciplina.GetCategoriaDisciplina(id, nome, prioridades); listaAux.Add(aux); } } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } return(listaAux); }
public Entities.CategoriaDisciplina GetCategoriaDisciplina(Guid id) { DbCommand cmd = baseDados.GetStoredProcCommand("CategoriasDisciplinaSelectById"); baseDados.AddInParameter(cmd, "@Id", DbType.Guid, id); Entities.CategoriaDisciplina aux = null; try { using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { leitor.Read(); CategoriaRecursoDAO crDao = new CategoriaRecursoDAO(); Guid ideh = leitor.GetGuid(leitor.GetOrdinal("DisciplinaId")); string nome = leitor.GetString(leitor.GetOrdinal("Nome")); Dictionary<CategoriaRecurso, double> prioridades = new Dictionary<CategoriaRecurso, double>(); DbCommand cmd2 = baseDados.GetStoredProcCommand("CategoriasDisciplinaSelectPrioridadesById"); baseDados.AddInParameter(cmd2, "@Id", DbType.Guid, ideh); try { using (IDataReader leitor2 = baseDados.ExecuteReader(cmd2)) { while (leitor2.Read()) { CategoriaRecurso cat = crDao.GetCategoriaRecurso(leitor2.GetGuid(leitor2.GetOrdinal("CatRecursoId"))); double value = leitor2.GetDouble(leitor2.GetOrdinal("prioridade")); prioridades.Add(cat, value); } } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } aux = Entities.CategoriaDisciplina.GetCategoriaDisciplina(id, nome, prioridades); } } catch (Exception ex) { throw new DataAccessException("Erro ao ler dados.", ex); } return aux; }
/// <summary> /// Retorna todos os Rescursos /// throws BusinessData.BusinessLogic.DataAccess.DataAccessExceptiom /// </summary> /// <returns>Lista de Recursos</returns> public List <Recurso> GetRecursos() { try { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelect"); Recurso aux; FaculdadesDAO vinculosDAO = new FaculdadesDAO(); CategoriaRecursoDAO categoriarecursoDAO = new CategoriaRecursoDAO(); List <Recurso> listaAux = new List <Recurso>(); List <HorarioBloqueado> listaHB = new List <HorarioBloqueado>(); Guid recursoId; using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { //Guid block1 = new Guid("00000000-0000-0000-0000-000000000000"); //if(!Convert.IsDBNull(leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")))) Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); //Guid block2 = new Guid("00000000-0000-0000-0000-000000000000"); //if(!Convert.IsDBNull(leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")))) Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId")); listaHB = this.GetHorarioBloqueadoByRecurso(recursoId); aux = Recurso.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")), leitor.GetString(leitor.GetOrdinal("Descricao")), leitor.GetString(leitor.GetOrdinal("Abrev")), leitor.GetString(leitor.GetOrdinal("Tipo"))[0], vinculosDAO.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("FaculdadeId"))), categoriarecursoDAO.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaRecursoId"))), leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")), block1, block2, listaHB); listaAux.Add(aux); } } return(listaAux); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public List <Recurso> GetRecursosAlocados(DateTime data, string hora) { try { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectAlocadosByDataHora"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, hora); List <Recurso> resultado = new List <Recurso>(); Recurso aux = null; FaculdadesDAO faculDao = new FaculdadesDAO(); CategoriaRecursoDAO categoriaDao = new CategoriaRecursoDAO(); List <HorarioBloqueado> listaHB = new List <HorarioBloqueado>(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { Guid recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId")); listaHB = this.GetHorarioBloqueadoByRecurso(recursoId); Faculdade facul = faculDao.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("Vinculo"))); CategoriaRecurso categoria = categoriaDao.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaId"))); string descricao = leitor.GetString(leitor.GetOrdinal("Descricao")); bool disponivel = leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")); string abrev = leitor.GetString(leitor.GetOrdinal("Abrev")); char tipo = leitor.GetString(leitor.GetOrdinal("Tipo"))[0]; Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); aux = Recurso.GetRecurso(recursoId, descricao, abrev, tipo, facul, categoria, disponivel, block1, block2, listaHB); resultado.Add(aux); } } return(resultado); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
/// <summary> /// Retorna o Recurso relativo ao Id especificado /// throws BusinessData.BusinessLogic.DataAccess.DataAccessExceptiom /// </summary> /// <param name="id"></param> /// <returns></returns> public Recurso GetRecurso(Guid id) { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectById"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, id); Recurso aux = null; try { using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { leitor.Read(); List <HorarioBloqueado> listaHB = this.GetHorarioBloqueadoByRecurso(id); FaculdadesDAO vinculosDAO = new FaculdadesDAO(); CategoriaRecursoDAO categoriarecursoDAO = new CategoriaRecursoDAO(); Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); aux = Recurso.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")), leitor.GetString(leitor.GetOrdinal("Descricao")), leitor.GetString(leitor.GetOrdinal("Abrev")), leitor.GetString(leitor.GetOrdinal("Tipo"))[0], vinculosDAO.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("FaculdadeId"))), categoriarecursoDAO.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaRecursoId"))), leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")), block1, block2, listaHB); } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } catch (Exception) { return(null); } return(aux); }
public List<Recurso> GetRecursosDisponiveis(DateTime data, string hora) { List<Recurso> alocados = GetRecursosAlocados(data, hora); try { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectDisponiveis"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, hora); List<Recurso> resultado = new List<Recurso>(); Recurso aux = null; FaculdadesDAO faculDao = new FaculdadesDAO(); CategoriaRecursoDAO categoriaDao = new CategoriaRecursoDAO(); List<HorarioBloqueado> listaHB = new List<HorarioBloqueado>(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { //Debug.WriteLine("Total de alocados:" + alocados.Count); while (leitor.Read()) { Guid recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId")); // Verifica se algum dos recursos alocados bloqueia este recurso bool block = false; foreach (Recurso alocado in alocados) // Em caso positivo, nao insere este na lista de disponiveis if (alocado.Bloqueia1 == recursoId || alocado.Bloqueia2 == recursoId) { //Debug.WriteLine("Bloqueado: " + recursoId + " por " + alocado.Descricao); block = true; break; } if (block) continue; listaHB = this.GetHorarioBloqueadoByRecurso(recursoId); Faculdade facul = faculDao.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("Vinculo"))); CategoriaRecurso categoria = categoriaDao.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaId"))); string descricao = leitor.GetString(leitor.GetOrdinal("Descricao")); bool disponivel = leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")); Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); aux = Recurso.GetRecurso(recursoId, descricao, facul, categoria, disponivel,block1,block2,listaHB); resultado.Add(aux); } } return resultado; } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public List<Recurso> GetRecursosAlocados() { try { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectAlocados"); List<Recurso> resultado = new List<Recurso>(); Recurso aux = null; FaculdadesDAO faculDao = new FaculdadesDAO(); CategoriaRecursoDAO categoriaDao = new CategoriaRecursoDAO(); List<HorarioBloqueado> listaHB = new List<HorarioBloqueado>(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { Guid recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId")); listaHB = this.GetHorarioBloqueadoByRecurso(recursoId); Faculdade facul = faculDao.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("Vinculo"))); CategoriaRecurso categoria = categoriaDao.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaId"))); string descricao = leitor.GetString(leitor.GetOrdinal("Descricao")); bool disponivel = leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")); Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); aux = Recurso.GetRecurso(recursoId, descricao, facul, categoria, disponivel, block1, block2, listaHB); resultado.Add(aux); } } return resultado; } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
/// <summary> /// Retorna todos os Rescursos /// throws BusinessData.BusinessLogic.DataAccess.DataAccessExceptiom /// </summary> /// <returns>Lista de Recursos</returns> public List<Recurso> GetRecursos() { try { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelect"); Recurso aux; FaculdadesDAO vinculosDAO = new FaculdadesDAO(); CategoriaRecursoDAO categoriarecursoDAO = new CategoriaRecursoDAO(); List<Recurso> listaAux = new List<Recurso>(); List<HorarioBloqueado> listaHB = new List<HorarioBloqueado>(); Guid recursoId; using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId")); listaHB = this.GetHorarioBloqueadoByRecurso(recursoId); aux = Recurso.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")), leitor.GetString(leitor.GetOrdinal("Descricao")), vinculosDAO.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("FaculdadeId"))), categoriarecursoDAO.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaRecursoId"))), leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")), block1, block2, listaHB); listaAux.Add(aux); } } return listaAux; } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
/// <summary> /// Retorna o Recurso relativo ao Id especificado /// throws BusinessData.BusinessLogic.DataAccess.DataAccessExceptiom /// </summary> /// <param name="id"></param> /// <returns></returns> public Recurso GetRecurso(Guid id) { DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectById"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, id); Recurso aux = null; try { using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { leitor.Read(); List<HorarioBloqueado> listaHB = this.GetHorarioBloqueadoByRecurso(id); FaculdadesDAO vinculosDAO = new FaculdadesDAO(); CategoriaRecursoDAO categoriarecursoDAO = new CategoriaRecursoDAO(); Guid block1 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia1")); Guid block2 = leitor.GetGuid(leitor.GetOrdinal("Bloqueia2")); aux = Recurso.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")), leitor.GetString(leitor.GetOrdinal("Descricao")), vinculosDAO.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("FaculdadeId"))), categoriarecursoDAO.GetCategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaRecursoId"))), leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")), block1, block2, listaHB); } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } catch (Exception ) { return null; } return aux; }