コード例 #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);
            }
        }
コード例 #2
0
        public ColecaoRequisicoes GetRequisicoes(Calendario cal, CategoriaRecurso cat)
        {
            ColecaoRequisicoes colAux = new ColecaoRequisicoes();

            BusinessData.BusinessLogic.RequisicoesBO controleRequisicoes = new BusinessData.BusinessLogic.RequisicoesBO();


            ICollection <BusinessData.Entities.Requisicao> requisicoes = controleRequisicoes.GetRequisicoesPorCalendario(cal.EntidadeCalendario, cat.EntidadeCategoria);

            Requisicao aux;
            Dia        dia;

            Horarios.HorariosPUCRS horario;
            Guid id;
            TurmaDistribuicao turma;
            CategoriaRecurso  categoria;


            foreach (BusinessData.Entities.Requisicao req in requisicoes)
            {
                dia       = cal.Dias.Find(req.Aula.Data);
                horario   = Horarios.Parse(req.Aula.Hora);
                id        = req.IdRequisicao;
                categoria = cal.Categorias.Find(req.CategoriaRecurso);
                turma     = cal.Turmas.Find(req.Aula.TurmaId);

                aux = new Requisicao(dia, horario, turma, categoria, req.Prioridade, req.EstaAtendida);
                colAux.Add(aux);
            }

            return(colAux);
        }
コード例 #3
0
        public ColecaoRequisicoes GetRequisicoes(Calendario cal, CategoriaRecurso cat)
        {
            ColecaoRequisicoes colAux = new ColecaoRequisicoes();
            BusinessData.BusinessLogic.RequisicoesBO controleRequisicoes = new BusinessData.BusinessLogic.RequisicoesBO();

            ICollection<BusinessData.Entities.Requisicao> requisicoes = controleRequisicoes.GetRequisicoesPorCalendario(cal.EntidadeCalendario, cat.EntidadeCategoria);

            Requisicao aux;
            Dia dia;
            Horarios.HorariosPUCRS horario;
            Guid id;
            TurmaDistribuicao turma;
            CategoriaRecurso categoria;

            foreach (BusinessData.Entities.Requisicao req in requisicoes)
            {
                dia = cal.Dias.Find(req.Aula.Data);
                horario = Horarios.Parse(req.Aula.Hora);
                id = req.IdRequisicao;
                categoria = cal.Categorias.Find(req.CategoriaRecurso);
                turma = cal.Turmas.Find(req.Aula.TurmaId);

                aux = new Requisicao(dia,horario,turma,categoria,req.Prioridade,req.EstaAtendida);
                colAux.Add(aux);
            }

            return colAux;
        }
コード例 #4
0
ファイル: EditarAula.aspx.cs プロジェクト: filipi/OpenSARC
    protected void ddlRecurso_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList ddlRecurso = (DropDownList)sender;
        string       recString  = ddlRecurso.SelectedValue;

        TableCell    cell     = (TableCell)ddlRecurso.Parent;
        DataGridItem gridItem = (DataGridItem)cell.Parent;

        // Salva dados digitados

        SalvarTodos();
//        SalvaDados(gridItem);

        // abre a popup de selecao de recursos
        //string id = lblaulaId.Text;
        //ScriptManager.RegisterClientScriptBlock(this, GetType(), "onClick", "popitup('SelecaoRecursos.aspx?AulaId=" + id + "');", true);

        Label lblaulaId = (Label)gridItem.FindControl("lblAulaId");
        Guid  idAula    = new Guid(lblaulaId.Text);
        Aula  aulaAtual = aulaBo.GetAulaById(idAula);

        RequisicoesBO      controleRequisicoes   = new RequisicoesBO();
        IList <Requisicao> requisicoesExistentes = controleRequisicoes.GetRequisicoesPorAula(idAula, cal);
        int pri = 0;

        foreach (Requisicao req in requisicoesExistentes)
        {
            if (req.Prioridade > pri)
            {
                pri = req.Prioridade;
            }
        }

        CategoriaRecursoBO controladorCategorias = new CategoriaRecursoBO();
        Guid             catId     = new Guid(ddlRecurso.SelectedValue);
        CategoriaRecurso categoria = controladorCategorias.GetCategoriaRecursoById(catId);
        Requisicao       novaReq   = Requisicao.NewRequisicao(aulaAtual, categoria, pri + 1); // teste! sempre prioridade + 1

        // Insere a nova requisição
        controleRequisicoes.InsereRequisicao(novaReq);
        requisicoesExistentes.Add(novaReq);

        // Atualiza label com os recursos selecionados
        Label  lblRecursosSelecionados = (Label)gridItem.FindControl("lblRecursosSelecionados");
        string recursos = "";

        foreach (Requisicao r in requisicoesExistentes)
        {
            if (recursos != String.Empty)
            {
                recursos += "<br/>";
            }
            recursos += r.Prioridade + ": " + r.CategoriaRecurso.Descricao;
        }
        lblRecursosSelecionados.Text = recursos;

        // Remove a categoria selecionada do drop down list
        ddlRecurso.Items.Remove(ddlRecurso.Items.FindByValue(ddlRecurso.SelectedValue));
        ddlRecurso.SelectedIndex = 0;
    }
コード例 #5
0
ファイル: Edit.aspx.cs プロジェクト: filipi/OpenSARC
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        try
        {
            CategoriaRecursoBO boCategoriaRecurso = new CategoriaRecursoBO();
            CategoriaRecurso   cat = boCategoriaRecurso.GetCategoriaRecursoById(new Guid(Request.QueryString["GUID"]));

            if (cat != null)
            {
                cat.Descricao = txtDescricao.Text;

                boCategoriaRecurso.UpdateCategoriaRecurso(cat);
                Response.Redirect("~/CategoriaRecurso/List.aspx");
            }
            else
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=" + "Categoria não existente.");
            }
        }
        catch (DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
        catch (SecurityException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
コード例 #6
0
ファイル: Edit.aspx.cs プロジェクト: filipi/OpenSARC
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Request.QueryString["GUID"] != null)
            {
                try
                {
                    CategoriaRecursoBO boCategoriaRecurso = new CategoriaRecursoBO();

                    try
                    {
                        CategoriaRecurso cat = boCategoriaRecurso.GetCategoriaRecursoById(new Guid(Request.QueryString["GUID"]));
                        txtDescricao.Text = cat.Descricao;
                    }
                    catch (FormatException)
                    {
                        Response.Redirect("~/CategoriaRecurso/List.aspx");
                    }
                }
                catch (BusinessData.DataAccess.DataAccessException)
                {
                    Response.Redirect("~/CategoriaRecurso/List.aspx");
                }
            }
            else
            {
                Response.Redirect("~/CategoriaRecurso/List.aspx");
            }
        }
    }
コード例 #7
0
ファイル: CategoriaRecursoBO.cs プロジェクト: filipi/OpenSARC
 public void DeletaCategoriaRecurso(Guid id)
 {
     if (usr.IsAdmin())
     {
         try
         {
             CategoriaRecurso categoriaRecurso = dao.GetCategoriaRecurso(id);
             dao.DeletaCategoriaRecurso(id);
             //MembershipUser user = Membership.GetUser();
             //LogEntry log = new LogEntry();
             //log.Message = "Categoria de Recurso: " + categoriaRecurso.Descricao + "; Id: " + categoriaRecurso.Id + "; Administrador: " + user.UserName;
             //log.TimeStamp = DateTime.Now;
             //log.Severity = TraceEventType.Information;
             //log.Title = "Delete Categoria de Recurso";
             //log.MachineName = Dns.GetHostName();
             //Logger.Write(log);
         }
         catch (DataAccess.DataAccessException)
         {
             throw;
         }
     }
     else
     {
         throw new SecurityException("Acesso Negado.");
     }
 }
コード例 #8
0
        public List <Recurso> GetRecursosDisponiveis(DateTime data, string horarioPUCRS, Guid categoriaRecursoId)
        {
            //Debug.WriteLine(data.ToShortDateString() + " - " + horarioPUCRS + " " + categoriaRecursoId);
            DbCommand cmd = baseDados.GetStoredProcCommand("GetRecursosDisponiveisDataHorarioCategoria");

            baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
            baseDados.AddInParameter(cmd, "@HOrario", DbType.String, horarioPUCRS);
            baseDados.AddInParameter(cmd, "@CategoriaRecurso", DbType.Guid, categoriaRecursoId);

            Recurso        aux;
            List <Recurso> listaRecursos = new List <Recurso>();
            List <Recurso> alocados      = GetRecursosAlocados(data, horarioPUCRS);

            try
            {
                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    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;
                        }

                        aux = new Recurso();
                        CategoriaRecurso catRec = new CategoriaRecurso(categoriaRecursoId, leitor.GetString(leitor.GetOrdinal("CategoriaRecursoDescricao")));
                        Faculdade        facul  = Faculdade.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("FaculdadeId")), leitor.GetString(leitor.GetOrdinal("FaculdadeNome")));
                        aux.Categoria      = catRec;
                        aux.Descricao      = leitor.GetString(leitor.GetOrdinal("RecursoDescricao"));
                        aux.EstaDisponivel = leitor.GetBoolean(leitor.GetOrdinal("RecursoEstaDisponivel"));
                        List <HorarioBloqueado> listaHB = this.GetHorarioBloqueadoByRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));
                        aux.HorariosBloqueados = listaHB;
                        aux.Id      = recursoId; // leitor.GetGuid(leitor.GetOrdinal("RecursoId"));
                        aux.Vinculo = facul;

                        listaRecursos.Add(aux);
                    }
                }
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
            return(listaRecursos);
        }
コード例 #9
0
ファイル: Requisicao.cs プロジェクト: marlonps/OpenSARC
 private Requisicao(Aula _aula, Guid _idRequisicao,
    CategoriaRecurso _categoriaRecurso, int _prioridade, bool _estaAtendida)
 {
     aula = _aula;
        idRequisicao = _idRequisicao;
        categoriaRecurso = _categoriaRecurso;
        prioridade = _prioridade;
        estaAtendida = _estaAtendida;
 }
コード例 #10
0
ファイル: RequisicoesBO.cs プロジェクト: filipi/OpenSARC
 public IList <Requisicao> GetRequisicoesPorCalendario(Calendario cal, CategoriaRecurso categoriaRecurso)
 {
     try
     {
         return(dao.GetRequisicoesByCalendario(cal, categoriaRecurso));
     }
     catch (DataAccess.DataAccessException)
     {
         throw;
     }
 }
コード例 #11
0
ファイル: Requisicao.cs プロジェクト: marlonps/OpenSARC
 public Requisicao(Dia dia, Horarios.HorariosPUCRS horario, TurmaDistribuicao turma,
     CategoriaRecurso cat, int prioridade, bool estaAtendido)
 {
     this.Dia = dia;
     this.Horario = horario;
     this.Turma = turma;
     this.CategoriaRecurso = cat;
     this.Prioridade = prioridade;
     this.EstaAtendido = estaAtendido;
     this.Recurso = null;
 }
コード例 #12
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);
        }
コード例 #13
0
ファイル: Edit.aspx.cs プロジェクト: filipi/OpenSARC
    //Caso a edição seja confirmada...
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        Dictionary <CategoriaRecurso, double> prioridades = new System.Collections.Generic.Dictionary <CategoriaRecurso, double>();

        //Recria o dicionário com os valores modificados(ou não) do gridview
        for (int i = 0; i < grvListaCatDisciplina.DataKeys.Count; i++)
        {
            try
            {
                Guid             id  = (Guid)grvListaCatDisciplina.DataKeys[i].Value;
                CategoriaRecurso cat = crBo.GetCategoriaRecursoById(id);
                if (cat != null)
                {
                    double p = Convert.ToDouble(((TextBox)(grvListaCatDisciplina.Rows[i].FindControl("txtPrioridade"))).Text);

                    prioridades.Add(cat, p);
                }
                else
                {
                    Response.Redirect("~/Default/Erro.aspx?Erro=" + "Categoria não existente.");
                }
            }
            catch (Exception ex)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
            }
        }

        //Cria-se, então, uma nova instância de CategoriaDisciplina, com o ID original, o nome que pode(ou não) ter sido mudado pelo usuário
        //e o dicionário criado anteriormente contendo todos os novos valores
        CategoriaDisciplina cd = CategoriaDisciplina.GetCategoriaDisciplina(new Guid(Request.QueryString["GUID"]), txtDescricao.Text, prioridades);

        try
        {
            CategoriaDisciplinaBO cdBo = new CategoriaDisciplinaBO();
            //Manda fazer o update, finalmente
            cdBo.UpdateCategoriaDisciplina(cd);
            Response.Redirect("~/CategoriaDisciplina/List.aspx");
        }
        catch (BusinessData.DataAccess.DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
        catch (SecurityException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
コード例 #14
0
ファイル: AlocacaoDAO.cs プロジェクト: filipi/OpenSARC
        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);
            }
        }
コード例 #15
0
ファイル: RecursosDAO.cs プロジェクト: filipi/OpenSARC
        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);
            }
        }
コード例 #16
0
ファイル: RecursosDAO.cs プロジェクト: filipi/OpenSARC
        /// <summary>
        /// Retorna todos os recursos da categoria especificada
        /// </summary>
        /// <param name="cat">Categoria de Recursos</param>
        /// <returns></returns>
        public List <Recurso> GetRecursosPorCategoria(CategoriaRecurso cat)
        {
            DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectByCategoria");

            baseDados.AddInParameter(cmd, "@CategoriaRecursoId", DbType.Guid, cat.Id);
            List <Recurso>          listaAux = new List <Recurso>();
            List <HorarioBloqueado> listaHB  = new List <HorarioBloqueado>();
            Guid    recursoId;
            Recurso aux;

            try
            {
                FaculdadesDAO vinculosDAO = new FaculdadesDAO();
                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId"));
                        listaHB   = this.GetHorarioBloqueadoByRecurso(recursoId);

                        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("Vinculo"))),
                                                 cat,
                                                 leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")),
                                                 block1, block2,
                                                 listaHB);
                        listaAux.Add(aux);
                    }
                }
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
            return(listaAux);
        }
コード例 #17
0
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        System.Collections.Generic.Dictionary <CategoriaRecurso, double> prioridades = new System.Collections.Generic.Dictionary <CategoriaRecurso, double>();

        for (int i = 0; i < grvListaCatDisciplina.DataKeys.Count; i++)
        {
            try
            {
                Guid             id  = (Guid)grvListaCatDisciplina.DataKeys[i].Value;
                CategoriaRecurso cat = crBo.GetCategoriaRecursoById(id);
                double           p   = Convert.ToDouble(((TextBox)(grvListaCatDisciplina.Rows[i].FindControl("txtPrioridade"))).Text);

                prioridades.Add(cat, p);
            }
            catch (Exception ex)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
            }
        }

        CategoriaDisciplina cd = CategoriaDisciplina.NewCategoriaDisciplina(txtDescricao.Text, prioridades);

        try
        {
            CategoriaDisciplinaBO cdBo = new CategoriaDisciplinaBO();
            cdBo.InsereCategoriaDisciplina(cd);
            lblStatus.Text    = "Categoria de Disciplinas inserida com sucesso.";
            lblStatus.Visible = true;
            txtDescricao.Text = "";
            //Usado aqui para zerar todos os campos
            PopulaCategoriasRecurso();
        }
        catch (BusinessData.DataAccess.DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
        catch (SecurityException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
コード例 #18
0
        public ColecaoRequisicoes GetRequisicoes(int prioridade, CategoriaRecurso cat, ColecaoDias dias)
        {
            ColecaoRequisicoes requisicoes = new ColecaoRequisicoes();
            Requisicao         req;
            bool anteriorAtendido = false;

            //DateTime data;



            for (int i = 0; i < listaRequisicoes.Count; i++)
            {
                req = listaRequisicoes[i];
                if (req.Prioridade != prioridade)
                {
                    continue;
                }

                //Verifica se alguma requisicao de maior prioridade feita pela turma
                //já foi atendida
                for (int j = 1; j < prioridade; j++)
                {
                    int aux = i - j;
                    if (aux >= 0 && listaRequisicoes[aux].Turma.Equals(listaRequisicoes[i].Turma) && listaRequisicoes[aux].EstaAtendido)
                    {
                        anteriorAtendido = true;
                        break;
                    }
                    anteriorAtendido = false;
                }

                if (req.CategoriaRecurso.Equals(cat) && req.Prioridade == prioridade && !anteriorAtendido)
                {
                    requisicoes.Add(req);
                }
            }

            return(requisicoes);
        }
コード例 #19
0
ファイル: Cadastro.aspx.cs プロジェクト: filipi/OpenSARC
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        //bool achou = false;
        CategoriaRecurso   r = CategoriaRecurso.NewCategoriaRecurso(txtDescricao.Text);
        CategoriaRecursoBO categoriaRecurso = new CategoriaRecursoBO();

        try
        {
            categoriaRecurso.InsereCategoriaRecurso(r);
            lblStatus.Text    = "Categoria de Recursos inserida com sucesso.";
            lblStatus.Visible = true;
            txtDescricao.Text = "";
        }
        catch (BusinessData.DataAccess.DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
        catch (SecurityException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
コード例 #20
0
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        try
        {
            Calendario cal = (Calendario)Session["Calendario"];
            Recurso    recurso;
            listaHorarios = (List <HorarioBloqueado>)Session["Horarios"];
            CategoriaRecurso categoriaRecurso = categBO.GetCategoriaRecursoById(new Guid(ddlCategoria.SelectedValue));
            Faculdade        vinculo          = faculBO.GetFaculdadeById(new Guid(ddlVinculo.SelectedValue));

            if (listaHorarios.Count != 0)
            {
                recurso = Recurso.NewRecurso(txtDescricao.Text, txtAbrev.Text, txtTipo.Text[0], vinculo, categoriaRecurso, Convert.ToBoolean(Convert.ToInt16(rblDisponivel.SelectedValue)), listaHorarios);
            }
            else
            {
                recurso = Recurso.NewRecurso(txtDescricao.Text, txtAbrev.Text, txtTipo.Text[0], vinculo, categoriaRecurso, Convert.ToBoolean(Convert.ToInt16(rblDisponivel.SelectedValue)), null);
            }

            recursoBO.InsereRecurso(recurso, cal);

            txtDescricao.Text = "";
            ddlHorarioInicio.SelectedIndex = 0;
            ddlHorarioFim.SelectedIndex    = 0;
            dgHorarios.DataSource          = null;
            dgHorarios.DataBind();
            pnlHorarios.Visible = false;
            listaHorarios.Clear();
            Session["Horarios"] = listaHorarios;
            lblStatus.Text      = "Recurso cadastrado com sucesso.";

            lblStatus.Visible = true;
        }
        catch (BusinessData.DataAccess.DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
コード例 #21
0
        public ColecaoCategoriaDeRecursos GetCategorias()
        {
            CategoriaRecursoBO controleCategoriaRecursos = new CategoriaRecursoBO();
            RecursosBO controleRecursos = new RecursosBO();
            AlocacaoBO controleAlocacoes = new AlocacaoBO();
            ColecaoCategoriaDeRecursos catalogoRecursos = new ColecaoCategoriaDeRecursos();

            IList<Recurso> listaRecursos;
            CategoriaRecurso categ = null;
            Recurso recAux;
            foreach (BusinessData.Entities.CategoriaRecurso cat in controleCategoriaRecursos.GetCategoriaRecurso())
            {
                listaRecursos = new List<Recurso>();
                foreach (BusinessData.Entities.Recurso rec in controleRecursos.GetRecursosPorCategoria(cat))
                {
                    recAux = new Recurso(rec);
                    listaRecursos.Add(recAux);
                }
                categ = new CategoriaRecurso(cat, listaRecursos);
                catalogoRecursos.Add(categ);
            }
            return catalogoRecursos;
        }
コード例 #22
0
        public ColecaoCategoriaDeRecursos GetCategorias()
        {
            CategoriaRecursoBO         controleCategoriaRecursos = new CategoriaRecursoBO();
            RecursosBO                 controleRecursos          = new RecursosBO();
            AlocacaoBO                 controleAlocacoes         = new AlocacaoBO();
            ColecaoCategoriaDeRecursos catalogoRecursos          = new ColecaoCategoriaDeRecursos();

            IList <Recurso>  listaRecursos;
            CategoriaRecurso categ = null;
            Recurso          recAux;

            foreach (BusinessData.Entities.CategoriaRecurso cat in controleCategoriaRecursos.GetCategoriaRecurso())
            {
                listaRecursos = new List <Recurso>();
                foreach (BusinessData.Entities.Recurso rec in controleRecursos.GetRecursosPorCategoria(cat))
                {
                    recAux = new Recurso(rec);
                    listaRecursos.Add(recAux);
                }
                categ = new CategoriaRecurso(cat, listaRecursos);
                catalogoRecursos.Add(categ);
            }
            return(catalogoRecursos);
        }
コード例 #23
0
ファイル: RecursosDAO.cs プロジェクト: marlonps/OpenSARC
        /// <summary>
        /// Retorna todos os recursos da categoria especificada
        /// </summary>
        /// <param name="cat">Categoria de Recursos</param>
        /// <returns></returns>
        public List<Recurso> GetRecursosPorCategoria(CategoriaRecurso cat)
        {
            DbCommand cmd = baseDados.GetStoredProcCommand("RecursosSelectByCategoria");
            baseDados.AddInParameter(cmd, "@CategoriaRecursoId", DbType.Guid, cat.Id);
            List<Recurso> listaAux = new List<Recurso>();
            List<HorarioBloqueado> listaHB = new List<HorarioBloqueado>();
            Guid recursoId;
            Recurso aux;
            try
            {
                FaculdadesDAO vinculosDAO = new FaculdadesDAO();
                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        recursoId = leitor.GetGuid(leitor.GetOrdinal("RecursoId"));
                        listaHB = this.GetHorarioBloqueadoByRecurso(recursoId);

                        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("Vinculo"))),
                                                 cat,
                                                 leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel")),
                                                 block1, block2,
                                                 listaHB);
                        listaAux.Add(aux);
                    }
                }
            }
            catch(SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
            return listaAux;
        }
コード例 #24
0
ファイル: RecursosDAO.cs プロジェクト: marlonps/OpenSARC
        public List<Recurso> GetRecursosDisponiveis(DateTime data, string horarioPUCRS, Guid categoriaRecursoId)
        {
            //Debug.WriteLine(data.ToShortDateString() + " - " + horarioPUCRS + " " + categoriaRecursoId);
            DbCommand cmd = baseDados.GetStoredProcCommand("GetRecursosDisponiveisDataHorarioCategoria");
            baseDados.AddInParameter(cmd,"@Data",DbType.DateTime,data);
            baseDados.AddInParameter(cmd,"@HOrario",DbType.String,horarioPUCRS);
            baseDados.AddInParameter(cmd,"@CategoriaRecurso",DbType.Guid,categoriaRecursoId);

            Recurso aux;
            List<Recurso> listaRecursos = new List<Recurso>();
            List<Recurso> alocados = GetRecursosAlocados(data, horarioPUCRS);
            try
            {
                using(IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    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;

                        aux = new Recurso();
                        CategoriaRecurso catRec = new CategoriaRecurso(categoriaRecursoId, leitor.GetString(leitor.GetOrdinal("CategoriaRecursoDescricao")));
                        Faculdade facul = Faculdade.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("FaculdadeId")), leitor.GetString(leitor.GetOrdinal("FaculdadeNome")));
                        aux.Categoria = catRec;
                        aux.Descricao = leitor.GetString(leitor.GetOrdinal("RecursoDescricao"));
                        aux.EstaDisponivel = leitor.GetBoolean(leitor.GetOrdinal("RecursoEstaDisponivel"));
                        List<HorarioBloqueado> listaHB = this.GetHorarioBloqueadoByRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));
                        aux.HorariosBloqueados = listaHB;
                        aux.Id = recursoId; // leitor.GetGuid(leitor.GetOrdinal("RecursoId"));
                        aux.Vinculo = facul;

                        listaRecursos.Add(aux);
                    }
                }
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
            return listaRecursos;
        }
コード例 #25
0
ファイル: EditarAula.aspx.cs プロジェクト: marlonps/OpenSARC
    protected void dgAulas_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            DropDownList ddlAtividade = (DropDownList)e.Item.FindControl("ddlAtividade");
            Label lblData = (Label)e.Item.FindControl("lblData");
            TextBox txtDescricao = (TextBox)e.Item.FindControl("txtDescricao");
            Label lblDescData = (Label)e.Item.FindControl("lblDescData");
            Label lblCorDaData = (Label)e.Item.FindControl("lblCorDaData");
            Label lblRecursosSelecionados = (Label)e.Item.FindControl("lblRecursosSelecionados");
            Label lblAulaId = (Label)e.Item.FindControl("lblAulaId");
            Color cor = argb[0];

            txtDescricao.Attributes.Add("onkeyup", "setDirtyFlag()");

            Label lbl = (Label)e.Item.FindControl("lblAula");
            lbl.Text = "";

            listCData = cdataBo.GetCategoriaDatas();
            List<Requisicao> listReq = reqBo.GetRequisicoesPorAula(new Guid(lblAulaId.Text), cal);

            DateTime dataAtual = Convert.ToDateTime(lblData.Text);

            ddlAtividade.DataValueField = "Id";
            ddlAtividade.DataTextField = "Descricao";
            ddlAtividade.DataSource = listaAtividades;
            ddlAtividade.DataBind();

            ddlAtividade.SelectedValue = categorias[0].ToString();

            List<CategoriaRecurso> listCatRecursos = categoriaRecursoBo.GetCategoriaRecursoSortedByUse();
            // listCatRecursos.Sort();
            CategoriaRecurso dummy = new CategoriaRecurso(dummyGuid, "Selecionar...");
            listCatRecursos.Insert(0, dummy);

            string recursos = "";
            foreach (Requisicao r in listReq)
            {
                if (recursos != String.Empty) recursos += "<br/>";
                recursos += r.Prioridade + ": " + r.CategoriaRecurso.Descricao;
                listCatRecursos.Remove(listCatRecursos.Find(delegate(CategoriaRecurso cr)
                {
                    return cr.Descricao == r.CategoriaRecurso.Descricao;
                }
                ));
            }

            DropDownList ddlCategoriaRecurso = (DropDownList)e.Item.FindControl("ddlRecurso");
            ddlCategoriaRecurso.SelectedIndex = 0;
            ddlCategoriaRecurso.DataSource = listCatRecursos;
            ddlCategoriaRecurso.DataTextField = "Descricao";
            ddlCategoriaRecurso.DataValueField = "Id";
            ddlCategoriaRecurso.DataBind();

        //            ddlCategoriaRecurso.Items.Remove("Laboratório");

            lblRecursosSelecionados.Text = recursos;

            //Data data = null;
            //verifica as datas para pintar as linhas
            if ((dataAtual >= cal.InicioG2))
            {
                e.Item.BackColor = Color.LightGray;
            }
            else
            {
                Data data = VerificaData(dataAtual);
                if (data != null)
                {
                    foreach (CategoriaData c in listCData)
                        if (c.Id == data.Categoria.Id)
                            if (!c.DiaLetivo)
                            {
                                e.Item.BackColor = c.Cor;
                                e.Item.Enabled = false;
                                txtDescricao.Text = c.Descricao;
                                lblCorDaData.Text = "True";
                                break;
                            }
                            else
                            {
                                facin = (bool) Session["facin"];
                                if(facin) {
                                    lblDescData.Text = c.Descricao;
                                    txtDescricao.Text = c.Descricao;// + " "+facin; // + " - " + txtDescricao.Text;
                                    //txtDescricao.Text = txtDescricao.Text;
                                    e.Item.BackColor = c.Cor;
                                    lblCorDaData.Text = "True";
                                }
                                else {
                                    e.Item.BackColor = cor;
                                    lblCorDaData.Text = "False";
                                }
                                lbl.Text = (cont++).ToString();
                                break;
                            }
                }
                else
                {
                    e.Item.BackColor = cor;
                    lblCorDaData.Text = "False";
                    lbl.Text = (cont++).ToString();
                }
            }

            categorias.RemoveAt(0);
            argb.RemoveAt(0);
        }
    }
コード例 #26
0
ファイル: AlocacaoDAO.cs プロジェクト: marlonps/OpenSARC
        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);
            }
        }
コード例 #27
0
 /// <summary>
 /// Retorna todos os recursos da categoria especificada
 /// </summary>
 /// <param name="cat">Categoria de Recursos</param>
 /// <returns></returns>
 public List <Recurso> GetRecursosPorCategoria(CategoriaRecurso cat)
 {
     return(dao.GetRecursosPorCategoria(cat));
 }
コード例 #28
0
ファイル: EditarAula.aspx.cs プロジェクト: filipi/OpenSARC
    protected void dgAulas_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            DropDownList ddlAtividade            = (DropDownList)e.Item.FindControl("ddlAtividade");
            Label        lblData                 = (Label)e.Item.FindControl("lblData");
            TextBox      txtDescricao            = (TextBox)e.Item.FindControl("txtDescricao");
            Label        lblDescData             = (Label)e.Item.FindControl("lblDescData");
            Label        lblCorDaData            = (Label)e.Item.FindControl("lblCorDaData");
            Label        lblRecursosSelecionados = (Label)e.Item.FindControl("lblRecursosSelecionados");
            Label        lblAulaId               = (Label)e.Item.FindControl("lblAulaId");
            Color        cor = argb[0];

            txtDescricao.Attributes.Add("onkeyup", "setDirtyFlag()");

            Label lbl = (Label)e.Item.FindControl("lblAula");
            lbl.Text = "";

            listCData = cdataBo.GetCategoriaDatas();
            List <Requisicao> listReq = reqBo.GetRequisicoesPorAula(new Guid(lblAulaId.Text), cal);



            DateTime dataAtual = Convert.ToDateTime(lblData.Text);

            ddlAtividade.DataValueField = "Id";
            ddlAtividade.DataTextField  = "Descricao";
            ddlAtividade.DataSource     = listaAtividades;
            ddlAtividade.DataBind();

            ddlAtividade.SelectedValue = categorias[0].ToString();

            List <CategoriaRecurso> listCatRecursos = categoriaRecursoBo.GetCategoriaRecursoSortedByUse();
            // listCatRecursos.Sort();
            CategoriaRecurso dummy = new CategoriaRecurso(dummyGuid, "Selecionar...");
            listCatRecursos.Insert(0, dummy);

            string recursos = "";
            foreach (Requisicao r in listReq)
            {
                if (recursos != String.Empty)
                {
                    recursos += "<br/>";
                }
                recursos += r.Prioridade + ": " + r.CategoriaRecurso.Descricao;
                listCatRecursos.Remove(listCatRecursos.Find(delegate(CategoriaRecurso cr)
                {
                    return(cr.Descricao == r.CategoriaRecurso.Descricao);
                }
                                                            ));
            }

            DropDownList ddlCategoriaRecurso = (DropDownList)e.Item.FindControl("ddlRecurso");
            if (semRecursos)
            {
                dgAulas.Columns[8].Visible  = false;
                dgAulas.Columns[9].Visible  = false;
                dgAulas.Columns[10].Visible = false;
                //ddlCategoriaRecurso.Visible = false;
                //lblRecursosSelecionados.Visible = false;
            }
            else
            {
                ddlCategoriaRecurso.SelectedIndex  = 0;
                ddlCategoriaRecurso.DataSource     = listCatRecursos;
                ddlCategoriaRecurso.DataTextField  = "Descricao";
                ddlCategoriaRecurso.DataValueField = "Id";
                ddlCategoriaRecurso.DataBind();
            }

//            ddlCategoriaRecurso.Items.Remove("Laboratório");

            lblRecursosSelecionados.Text = recursos;

            //Data data = null;
            //verifica as datas para pintar as linhas
            if ((dataAtual >= cal.InicioG2))
            {
                e.Item.BackColor = Color.LightGray;
            }
            else
            {
                Data data = VerificaData(dataAtual);
                if (data != null)
                {
                    foreach (CategoriaData c in listCData)
                    {
                        if (c.Id == data.Categoria.Id)
                        {
                            if (!c.DiaLetivo)
                            {
                                e.Item.BackColor  = c.Cor;
                                e.Item.Enabled    = false;
                                txtDescricao.Text = c.Descricao;
                                lblCorDaData.Text = "True";
                                break;
                            }
                            else
                            {
                                facin = (bool)Session["facin"];
                                if (facin)
                                {
                                    lblDescData.Text  = c.Descricao;
                                    txtDescricao.Text = c.Descricao;                                    // + " "+facin; // + " - " + txtDescricao.Text;
                                    //txtDescricao.Text = txtDescricao.Text;
                                    e.Item.BackColor  = c.Cor;
                                    lblCorDaData.Text = "True";
                                }
                                else
                                {
                                    e.Item.BackColor  = cor;
                                    lblCorDaData.Text = "False";
                                }
                                lbl.Text = (cont++).ToString();
                                break;
                            }
                        }
                    }
                }
                else
                {
                    e.Item.BackColor  = cor;
                    lblCorDaData.Text = "False";
                    lbl.Text          = (cont++).ToString();
                }
            }

            categorias.RemoveAt(0);
            argb.RemoveAt(0);
        }
    }
コード例 #29
0
ファイル: RequisicoesBO.cs プロジェクト: marlonps/OpenSARC
 public IList<Requisicao> GetRequisicoesPorCalendario(Calendario cal,CategoriaRecurso categoriaRecurso)
 {
     try
     {
         return dao.GetRequisicoesByCalendario(cal,categoriaRecurso);
     }
     catch(DataAccess.DataAccessException)
     {
         throw;
     }
 }
コード例 #30
0
    protected void ddlCategoriaRecurso_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlCategoriaRecurso.SelectedIndex != 0)
        {
            if (!btnConfirmar.Enabled)
            {
                btnConfirmar.Enabled = true;
            }
            bool jaInserida = false;
            lblStatus.Text = "";
            CategoriaRecursoBO controladorCategorias = new CategoriaRecursoBO();
            Guid id = new Guid(ddlCategoriaRecurso.SelectedValue);

            CategoriaRecurso     categoria    = controladorCategorias.GetCategoriaRecursoById(id);
            Requisicao           req          = Requisicao.NewRequisicao(aulaAtual, categoria, Convert.ToInt32(ddlPrioridadeRequisicao.SelectedValue));
            DecoratorRequisicoes recComEstado = new DecoratorRequisicoes(req, DecoratorRequisicoes.EstadoRequisicao.Inserida);
            //foreach para comparar se Recurso já existe na lista
            foreach (DecoratorRequisicoes dec in listaRequisicoes)
            {
                if (dec.CategoriaRecurso.Equals(recComEstado.CategoriaRecurso) && dec.EstadoAtual != DecoratorRequisicoes.EstadoRequisicao.Removida)
                {
                    lblStatus.Text = "Recurso já selecionado.";
                    if (listaRequisicoes.Count < ddlPrioridadeRequisicao.SelectedIndex + 1)
                    {
                        ddlCategoriaRecurso.SelectedIndex = 0;
                    }
                    else
                    {
                        ddlCategoriaRecurso.SelectedValue = listaRequisicoes[ddlPrioridadeRequisicao.SelectedIndex].CategoriaRecurso.Id.ToString();
                    }
                    jaInserida = true;
                }
            }
            if (!jaInserida)
            {
                foreach (DecoratorRequisicoes dec in listaRequisicoes)
                {
                    //Compara se estado atual da categoria é igual à removida
                    if (dec.EstadoAtual == DecoratorRequisicoes.EstadoRequisicao.Removida)
                    {
                        continue;
                    }
                    //Compara se a prioridade da categoria para inserir é igual a da categoria da lista e se a categoria da lista é diferente de Inserida
                    if (dec.Prioridade == recComEstado.Prioridade && dec.EstadoOriginal != DecoratorRequisicoes.EstadoRequisicao.Inserida)
                    {
                        dec.CategoriaRecurso = controladorCategorias.GetCategoriaRecursoById(id);
                        dec.EstadoAtual      = DecoratorRequisicoes.EstadoRequisicao.Atualizada;
                        lblStatus.Text       = "Categoria alterada para a opção.";
                        jaInserida           = true;
                        break;
                    }
                    //Compara se a prioridade da categoria para inserir é igual a da categoria da lista e se a categoria da lista é igual a Inserida
                    if (dec.Prioridade == recComEstado.Prioridade && dec.EstadoOriginal == DecoratorRequisicoes.EstadoRequisicao.Inserida)
                    {
                        dec.CategoriaRecurso = controladorCategorias.GetCategoriaRecursoById(id);
                        lblStatus.Text       = "Categoria alterada para a opção.";
                        jaInserida           = true;
                        break;
                    }
                }
            }
            //Insere se a categoria não estiver na lista
            if (!jaInserida)
            {
                int aux = (int)Session["Opcoes"];
                aux++;
                Session["Opcoes"] = aux;
                listaRequisicoes.Add(recComEstado);
                lblStatus.Text = "Categoria selecionada para a opção.";
            }
        }
        else
        {
            //foreach para percorrer a lista para a ddl de categorias voltar para a categoria
            //atual quando selecionada a opção "Selecione"
            foreach (DecoratorRequisicoes dec in listaRequisicoes)
            {
                if (dec.Prioridade == (ddlPrioridadeRequisicao.SelectedIndex + 1))
                {
                    ddlCategoriaRecurso.SelectedValue = dec.CategoriaRecurso.Id.ToString();
                    break;
                }
            }
        }
    }
コード例 #31
0
ファイル: RequisicaoDAO.cs プロジェクト: marlonps/OpenSARC
        public IList<Requisicao> GetRequisicoesByCalendario(Calendario cal, CategoriaRecurso cat)
        {
            BusinessData.Entities.Aula aula;
            BusinessData.Entities.CategoriaAtividade categoriaAtividade;
            BusinessData.Entities.Professor professor;
            BusinessData.Entities.Faculdade faculdade;
            BusinessData.Entities.Curso curso;
            BusinessData.Entities.Disciplina disciplina;
            BusinessData.Entities.CategoriaDisciplina categoria;
            BusinessData.Entities.Turma turma;

            DbCommand cmd = _baseDados.GetStoredProcCommand("RequisicoesSelectByCalendarioAndCategoriaRecurso");
            _baseDados.AddInParameter(cmd, "@CategoriaRecursoId", DbType.Guid, cat.Id);
            _baseDados.AddInParameter(cmd, "@CalendarioId", DbType.Guid, cal.Id);

            Entities.Requisicao aux = null;
            List<Requisicao> listaAux = new List<Requisicao>();
            try
            {

                using (IDataReader leitor = _baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        try
                        {
                            faculdade = Entities.Faculdade.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("idFaculdadeCurso")),
                                                                    leitor.GetString(leitor.GetOrdinal("nomeFaculdade")));

                            curso = Entities.Curso.GetCurso(leitor.GetString(leitor.GetOrdinal("cursoTurma")),
                                                        leitor.GetString(leitor.GetOrdinal("nomeCurso")), faculdade);

                            professor = Entities.Professor.GetProfessor(leitor.GetGuid(leitor.GetOrdinal("idProfessorTurma")),
                                                                    leitor.GetString(leitor.GetOrdinal("Matricula")),
                                                                    leitor.GetString(leitor.GetOrdinal("Nome")),
                                                                    leitor.GetString(leitor.GetOrdinal("Email")));

                            categoria = catdiscipDAO.GetCategoriaDisciplina(leitor.GetGuid(leitor.GetOrdinal("categoriaDisciplina")));

                            disciplina = Entities.Disciplina.GetDisciplina(leitor.GetString(leitor.GetOrdinal("codDisciplinaTurma")),
                                                                       leitor.GetInt32(leitor.GetOrdinal("credDisciplina")),
                                                                       leitor.GetString(leitor.GetOrdinal("nomeDisciplina")),
                                                                       leitor.GetBoolean(leitor.GetOrdinal("g2Disciplina")),
                                                                       cal,
                                                                       categoria);

                            categoriaAtividade = Entities.CategoriaAtividade.GetCategoriaAtividade(leitor.GetGuid(leitor.GetOrdinal("idCategoriaAtividadeAula")),
                                                                                               leitor.GetString(leitor.GetOrdinal("descricaoAtividadeAula")),
                                                                                   Color.FromName(leitor.GetString(leitor.GetOrdinal("Cor"))));

                            turma = Entities.Turma.GetTurma(leitor.GetGuid(leitor.GetOrdinal("idTurmaAula")),
                                                           leitor.GetInt32(leitor.GetOrdinal("numeroTurma")),
                                                           cal, disciplina, leitor.GetString(leitor.GetOrdinal("dataHoraTurma")),
                                                           professor, curso);

                            aula = Entities.Aula.GetAula(leitor.GetGuid(leitor.GetOrdinal("idRequisicaoAula")), (BusinessData.Entities.Turma)turma, leitor.GetString(leitor.GetOrdinal("horarioAula")),
                                                     leitor.GetDateTime(leitor.GetOrdinal("dataAula")), leitor.GetString(leitor.GetOrdinal("descricaoAtividadeAula")),
                                                     categoriaAtividade);

                            aux = Entities.Requisicao.GetRequisicao(aula, leitor.GetGuid(leitor.GetOrdinal("idRequisicao")), cat, leitor.GetInt32(leitor.GetOrdinal("prioridadeRequisicao")), leitor.GetBoolean(leitor.GetOrdinal("requisicaoEstaAtendida")));
                            listaAux.Add(aux);
                        }
                        catch (InvalidOperationException)
                        {
                            return new List<Requisicao>();
                        }

                    }
                }
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
            return listaAux;
        }
コード例 #32
0
ファイル: Requisicao.cs プロジェクト: marlonps/OpenSARC
 public static Requisicao NewRequisicao(Aula aula, CategoriaRecurso categoriaRecurso, int prioridade, bool estaAtendida)
 {
     return new Requisicao(aula, Guid.NewGuid(), categoriaRecurso, prioridade, estaAtendida);
 }
コード例 #33
0
ファイル: Requisicao.cs プロジェクト: marlonps/OpenSARC
 public static Requisicao GetRequisicao(Aula aula, Guid idRequisicao,
    CategoriaRecurso categoriaRecurso, int prioridade, bool estaAtendida)
 {
     return new Requisicao(aula, idRequisicao, categoriaRecurso, prioridade, estaAtendida);
 }
コード例 #34
0
ファイル: RequisicaoDAO.cs プロジェクト: filipi/OpenSARC
        public IList <Requisicao> GetRequisicoesByCalendario(Calendario cal, CategoriaRecurso cat)
        {
            BusinessData.Entities.Aula aula;
            BusinessData.Entities.CategoriaAtividade categoriaAtividade;
            BusinessData.Entities.Professor          professor;
            BusinessData.Entities.Faculdade          faculdade;
            BusinessData.Entities.Curso               curso;
            BusinessData.Entities.Disciplina          disciplina;
            BusinessData.Entities.CategoriaDisciplina categoria;
            BusinessData.Entities.Turma               turma;

            DbCommand cmd = _baseDados.GetStoredProcCommand("RequisicoesSelectByCalendarioAndCategoriaRecurso");

            _baseDados.AddInParameter(cmd, "@CategoriaRecursoId", DbType.Guid, cat.Id);
            _baseDados.AddInParameter(cmd, "@CalendarioId", DbType.Guid, cal.Id);

            Entities.Requisicao aux      = null;
            List <Requisicao>   listaAux = new List <Requisicao>();

            try
            {
                using (IDataReader leitor = _baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        try
                        {
                            faculdade = Entities.Faculdade.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("idFaculdadeCurso")),
                                                                        leitor.GetString(leitor.GetOrdinal("nomeFaculdade")));

                            curso = Entities.Curso.GetCurso(leitor.GetString(leitor.GetOrdinal("cursoTurma")),
                                                            leitor.GetString(leitor.GetOrdinal("nomeCurso")), faculdade);

                            professor = Entities.Professor.GetProfessor(leitor.GetGuid(leitor.GetOrdinal("idProfessorTurma")),
                                                                        leitor.GetString(leitor.GetOrdinal("Matricula")),
                                                                        leitor.GetString(leitor.GetOrdinal("Nome")),
                                                                        leitor.GetString(leitor.GetOrdinal("Email")));

                            categoria = catdiscipDAO.GetCategoriaDisciplina(leitor.GetGuid(leitor.GetOrdinal("categoriaDisciplina")));

                            disciplina = Entities.Disciplina.GetDisciplina(leitor.GetString(leitor.GetOrdinal("codDisciplinaTurma")),
                                                                           leitor.GetInt32(leitor.GetOrdinal("credDisciplina")),
                                                                           leitor.GetString(leitor.GetOrdinal("nomeDisciplina")),
                                                                           leitor.GetBoolean(leitor.GetOrdinal("g2Disciplina")),
                                                                           cal,
                                                                           categoria);

                            categoriaAtividade = Entities.CategoriaAtividade.GetCategoriaAtividade(leitor.GetGuid(leitor.GetOrdinal("idCategoriaAtividadeAula")),
                                                                                                   leitor.GetString(leitor.GetOrdinal("descricaoAtividadeAula")),
                                                                                                   Color.FromName(leitor.GetString(leitor.GetOrdinal("Cor"))));

                            turma = Entities.Turma.GetTurma(leitor.GetGuid(leitor.GetOrdinal("idTurmaAula")),
                                                            leitor.GetInt32(leitor.GetOrdinal("numeroTurma")),
                                                            cal, disciplina, leitor.GetString(leitor.GetOrdinal("dataHoraTurma")),
                                                            professor, curso);

                            aula = Entities.Aula.GetAula(leitor.GetGuid(leitor.GetOrdinal("idRequisicaoAula")), (BusinessData.Entities.Turma)turma, leitor.GetString(leitor.GetOrdinal("horarioAula")),
                                                         leitor.GetDateTime(leitor.GetOrdinal("dataAula")), leitor.GetString(leitor.GetOrdinal("descricaoAtividadeAula")),
                                                         categoriaAtividade);


                            aux = Entities.Requisicao.GetRequisicao(aula, leitor.GetGuid(leitor.GetOrdinal("idRequisicao")), cat, leitor.GetInt32(leitor.GetOrdinal("prioridadeRequisicao")), leitor.GetBoolean(leitor.GetOrdinal("requisicaoEstaAtendida")));
                            listaAux.Add(aux);
                        }
                        catch (InvalidOperationException)
                        {
                            return(new List <Requisicao>());
                        }
                    }
                }
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
            return(listaAux);
        }
コード例 #35
0
ファイル: RecursosBO.cs プロジェクト: marlonps/OpenSARC
 /// <summary>
 /// Retorna todos os recursos da categoria especificada
 /// </summary>
 /// <param name="cat">Categoria de Recursos</param>
 /// <returns></returns>
 public List<Recurso> GetRecursosPorCategoria(CategoriaRecurso cat)
 {
     return dao.GetRecursosPorCategoria(cat);
 }
コード例 #36
0
ファイル: Requisicao.cs プロジェクト: marlonps/OpenSARC
 public static Requisicao NewRequisicao(Aula aula, CategoriaRecurso categoriaRecurso, int prioridade)
 {
     return new Requisicao(aula, Guid.NewGuid(), categoriaRecurso, prioridade, false);
 }