Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        /// <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);
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        /// <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);
            }
        }
Ejemplo n.º 10
0
        /// <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;
        }