예제 #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         try
         {
             Calendario cal = (Calendario)Session["Calendario"];
             TurmaBO turma = new TurmaBO();
             List<Turma> listaTurma = turma.GetTurmas(cal);
             listaTurma.Sort();
             if (listaTurma.Count == 0)
             {
                 lblStatus.Text = "Nenhuma turma cadastrada.";
                 lblStatus.Visible = true;
             }
             else
             {
                 grvListaTurmas.DataSource = listaTurma;
                 grvListaTurmas.DataBind();
             }
         }
         catch (BusinessData.DataAccess.DataAccessException ex)
         {
             Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
         }
         catch (Exception ex)
         {
             Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
         }
     }
 }
예제 #2
0
파일: SPABO.cs 프로젝트: filipi/OpenSARC
        /// <summary>
        /// Importa turmas para a tabela Turmas
        /// </summary>
        /// <param name="lista"></param>
        public void ImportaTurmas(IList <Turma> lista)
        {
            TurmaBO turmaBo = new TurmaBO();

            foreach (Turma t in lista)
            {
                turmaBo.InsereTurma(t);
            }
        }
예제 #3
0
    protected void btnConfirmar_Click1(object sender, EventArgs e)
    {
        try
        {
            Disciplina.ValidaHorario(txtDataHora.Text);
            lblStatus.Text = "";

            Calendario cal = (Calendario)Session["Calendario"];

            TurmaBO turmaBO = new TurmaBO();
            Turma turma = turmaBO.GetTurmaById(new Guid(Request.QueryString["GUID"]), cal);

            if (turma != null)
            {
                DisciplinasBO controleDisciplinas = new DisciplinasBO();
                Disciplina disc = controleDisciplinas.GetDisciplina(ddlDisciplina.SelectedValue, cal);

                ProfessoresBO professorBO = new ProfessoresBO();
                Professor prof = (Professor)professorBO.GetPessoaById(new Guid(ddlProfessor.SelectedValue));

                CursosBO cursoBO = new CursosBO();
                Curso curso = cursoBO.GetCursoByCodigo(ddlCurso.SelectedValue);

                int testaCreditos = Disciplina.GetNumeroDeCreditos(txtDataHora.Text);
                if (testaCreditos == disc.Cred)
                {
                    turma.Disciplina = disc;
                    turma.Numero = Convert.ToInt32(txtNumero.Text);
                    turma.DataHora = txtDataHora.Text;
                    turma.Professor = prof;
                    turma.Curso = curso;
                    turmaBO.UpdateTurma(turma);
                    lblStatus.Text = "Turma atualizada com sucesso.";
                    lblStatus.Visible = true;
                    Response.Redirect("~/Turmas/ListaTurmas.aspx");
                }

                else Response.Redirect("~/Default/Erro.aspx?Erro=" + "Número de créditos incorreto para esta disciplina.");
            }

            else
            {
                lblStatus.Text = "Turma não pode ser atualizada.";
                lblStatus.Visible = true;
            }
        }
        catch (BusinessData.DataAccess.DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
        catch (SecurityException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
예제 #4
0
 protected void grvListaTurmas_RowEditing(object sender, GridViewEditEventArgs e)
 {
     try
     {
         TurmaBO turma = new TurmaBO();
         Guid id = (Guid)grvListaTurmas.DataKeys[e.NewEditIndex].Value;
         Response.Redirect("~/Turmas/EditarTurma.aspx?GUID=" + id.ToString());
     }
     catch (BusinessData.DataAccess.DataAccessException ex)
     {
         Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
     }
     catch (SecurityException ex)
     {
         Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
     }
 }
예제 #5
0
파일: SPABO.cs 프로젝트: filipi/OpenSARC
        /// <summary>
        /// Importa professores sem nome da tabela Turmas
        /// </summary>
        /// <param name="calendarioId"></param>
        public void ImportarTurmasSemProfessor(Guid calendarioId)
        {
            try
            {
                TurmaBO       controleTurmas    = new TurmaBO();
                IList <Turma> turmasCadastradas = controleTurmas.GetTurmas();

                IList <TurmaSemProfessor> turmasImportadas = this.getTurmasSemProfessor(calendarioId);
                //foreach (Turma turmaAtual in turmasImportadas)
                //{
                //    if (!turmasCadastradas.Contains(turmaAtual))
                //    {
                //        controleTurmas.InsereTurma(turmaAtual);
                //    }
                //}
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #6
0
파일: SPABO.cs 프로젝트: filipi/OpenSARC
        /// <summary>
        /// Importa turmas da tabela Turmas
        /// </summary>
        /// <param name="calendarioId"></param>
        public void ImportarTurmas(Guid calendarioId)
        {
            try
            {
                TurmaBO       controleTurmas    = new TurmaBO();
                IList <Turma> turmasCadastradas = controleTurmas.GetTurmas();

                IList <Turma> turmasImportadas = this.getTurmas(calendarioId);
                foreach (Turma turmaAtual in turmasImportadas)
                {
                    if (!turmasCadastradas.Contains(turmaAtual))
                    {
                        controleTurmas.InsereTurma(turmaAtual);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #7
0
    protected void grvListaTurmas_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        try
        {
            TurmaBO turma = new TurmaBO();
            Calendario cal = (Calendario)Session["Calendario"];
            Guid id = (Guid)grvListaTurmas.DataKeys[e.RowIndex].Value;

            turma.DeletaTurma(id);
            lblStatus.Text = "Turma excluída com sucesso.";
            lblStatus.Visible = true;

            grvListaTurmas.DataSource = turma.GetTurmas(cal);
            grvListaTurmas.DataBind();
        }
        catch (BusinessData.DataAccess.DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
        catch (SecurityException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
예제 #8
0
파일: AulaBO.cs 프로젝트: marlonps/OpenSARC
        public void CriarAulas(Calendario cal, Turma t)
        {
            try
            {
                //ordena lista da datas
                cal.Datas.Sort();
                //Recebe a lista das turmas
                TurmaBO contadorroleTurmas = new TurmaBO();
                IList<Entities.Turma> listaTurmas = contadorroleTurmas.GetTurmas(cal);
                Util.DataHelper dheper = new BusinessData.Util.DataHelper();
                //Recebe a lista das atividades
                CategoriaAtividadeBO contadorroleAtividades = new CategoriaAtividadeBO();
                IList<CategoriaAtividade> listaAtividades = contadorroleAtividades.GetCategoriaAtividade();
                if (listaAtividades.Count == 0)
                {
                    throw new IndexOutOfRangeException();
                }

                CategoriaAtividade cat = listaAtividades[0];
                foreach (CategoriaAtividade categoria in listaAtividades)
                {
                    if (categoria.Descricao.Equals("Aula"))
                        cat = categoria;
                }

                AulaBO contadorroleAulas = new AulaBO();
                Aula aulaAux;

                    string horario = t.DataHora;

                    //dado um horario pucrs(2ab,4cd), exclui os horarios e guarda os dias em array de inteiros
                    string diasPucrs = Regex.Replace(horario, "[a-zA-Z]", String.Empty);

                    int tamanho = diasPucrs.Length;
                    int[] dias = new int[tamanho];
                    for (int i = 0; i < tamanho; i++)
                    {
                        dias[i] = Convert.ToInt32(diasPucrs.Substring(i, 1));
                    }

                    string[] horariosPucrs = horario.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }, StringSplitOptions.RemoveEmptyEntries);

                    DateTime aux = cal.InicioG1;

                    while (aux <= cal.FimG2)
                    {
                        for (int i = 0; i < dias.Length; i++)
                        {
                            if ((int)(aux.DayOfWeek) == (dias[i] - 1))
                            {
                                aulaAux = Aula.newAula(t, horariosPucrs[i], aux, string.Empty, cat);
                                this.InsereAula(aulaAux);
                            }
                        }
                        aux = aux.AddDays(1);
                    }

            }
            catch (DataAccessException ex)
            {
                throw ex;
            }
        }
예제 #9
0
파일: SPABO.cs 프로젝트: marlonps/OpenSARC
 /// <summary>
 /// Importa turmas para a tabela Turmas
 /// </summary>
 /// <param name="lista"></param>
 public void ImportaTurmas(IList<Turma> lista)
 {
     TurmaBO turmaBo = new TurmaBO();
     foreach (Turma t in lista)
     {
         turmaBo.InsereTurma(t);
     }
 }
예제 #10
0
파일: SPABO.cs 프로젝트: marlonps/OpenSARC
        /// <summary>
        /// Importa professores sem nome da tabela Turmas
        /// </summary>
        /// <param name="calendarioId"></param>
        public void ImportarTurmasSemProfessor(Guid calendarioId)
        {
            try
            {
                TurmaBO controleTurmas = new TurmaBO();
                IList<Turma> turmasCadastradas = controleTurmas.GetTurmas();

                IList<TurmaSemProfessor> turmasImportadas = this.getTurmasSemProfessor(calendarioId);
                //foreach (Turma turmaAtual in turmasImportadas)
                //{
                //    if (!turmasCadastradas.Contains(turmaAtual))
                //    {
                //        controleTurmas.InsereTurma(turmaAtual);
                //    }
                //}
            }
            catch (Exception )
            {
                throw;
            }
        }
예제 #11
0
파일: SPABO.cs 프로젝트: marlonps/OpenSARC
        /// <summary>
        /// Importa turmas da tabela Turmas
        /// </summary>
        /// <param name="calendarioId"></param>
        public void ImportarTurmas(Guid calendarioId)
        {
            try
            {
                TurmaBO controleTurmas = new TurmaBO();
                IList<Turma> turmasCadastradas = controleTurmas.GetTurmas();

                IList<Turma> turmasImportadas = this.getTurmas(calendarioId);
                foreach (Turma turmaAtual in turmasImportadas)
                {
                    if (!turmasCadastradas.Contains(turmaAtual))
                    {
                        controleTurmas.InsereTurma(turmaAtual);
                    }
                }
            }
            catch (Exception )
            {
                throw;
            }
        }
예제 #12
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            aulaBo = new AulaBO();
            reqBo = new RequisicoesBO();
            try
            {
                cal = (Calendario)Session["Calendario"];

                // Obtém as requisições do semestre (todas)
                IList<Requisicao> listaReq = reqBo.GetRequisicoesPorCalendario(cal);

                // Cria um conjunto para armazenar os números das turmas com pedidos de recursos
                reqTurmas = new HashSet<Guid>();
                foreach (Requisicao req in listaReq)
                    reqTurmas.Add(req.Aula.TurmaId.Id);

                TurmaBO turma = new TurmaBO();
                List<Turma> listaTurma = turma.GetTurmas(cal);
                listaTurma.Sort();
                if (listaTurma.Count == 0)
                {
                    lblStatus.Text = "Nenhuma turma cadastrada.";
                    lblStatus.Visible = true;
                }
                else
                {
                    // Turmas sem solicitações de recursos, não teóricas e não de pós
                    List<TurmaVerifica> turmasRecursos = new List<TurmaVerifica>();
                    // Turmas restantes (todas as outras)
                    List<TurmaVerifica> turmasRestante = new List<TurmaVerifica>();
                    // Total de turmas restantes
                    int totalTurmasRestante = 0;
                    // Total de turmas que deveriam solicitar recursos
                    int totalTurmasRecursos = 0;
                    // Total de turmas com falta de preenchimento em algum aspecto
                    int totalRestanteFalta = 0;
                    // Total de turmas sem solicitação de recursos
                    int totalRecursosFalta = 0;
                    foreach (Turma t in listaTurma)
                    {
                        TurmaVerifica nova = new TurmaVerifica
                        {
                            Id = t.Id,
                            Numero = t.Numero,
                            Calendario = t.Calendario,
                            Disciplina = t.Disciplina,
                            DataHora = t.DataHora,
                            Professor = t.Professor,
                            Curso = t.Curso
                        };
                        // "teorica" representa turmas teóricas ou de algum pós
                        bool teorica = nova.Disciplina.Categoria.Descricao.Contains("Teórica") ||
                            nova.Disciplina.Categoria.Descricao.Contains("PPG") ||
                            nova.Curso.Nome.Contains("PPG") ||
                            nova.Curso.Nome.StartsWith("Física");

                        // Se a turma não é "teórica", ela deveria solicitar recursos
                        if (!teorica)
                            totalTurmasRecursos++;
                        else
                            // Caso contrário, conta nas demais
                            totalTurmasRestante++;

                        // Verifica o preenchimento dos dados, retorna true se
                        // a turma está incompleta
                        if (verificaTurma(ref nova, t.Disciplina.G2))
                        {
                            // Se a turma deveria solicitar recursos e não o fez,
                            // conta mais uma e adiciona na lista de pendentes
                            if (nova.RecursosOK == "NÃO" && !teorica)
                            {
                                turmasRecursos.Add(nova);
                                totalRecursosFalta++;
                            }
                            // Se a turma não precisa solicitar recursos, conta
                            // nas restantes e adiciona na lista
                            if(teorica)
                            {
                                turmasRestante.Add(nova);
                                totalRestanteFalta++;
                            }
                        }
                    }

                    // Calcula os percentuais
                    double percRecursos = totalRecursosFalta / (double)totalTurmasRecursos;
                    lblPercentualRecursos.Text = String.Format("Turmas sem solicitações de recursos (excluindo teóricas e pós): {1} de {2} ({0:P})", percRecursos, totalRecursosFalta, totalTurmasRecursos);

                    double percPreench = totalRestanteFalta / (double)totalTurmasRestante;
                    lblPercentualGeral.Text = String.Format("Demais turmas com pendências: {1} de {2} ({0:P})", percPreench, totalRestanteFalta, totalTurmasRestante);

                    grvListaTurmas.RowDataBound += grvListaTurmas_RowDataBound;
                    grvListaTurmas.DataSource = turmasRecursos;
                    grvListaTurmas.DataBind();

                    grvListaTurmasGeral.RowDataBound += grvListaTurmasGeral_RowDataBound;
                    grvListaTurmasGeral.DataSource = turmasRestante;
                    grvListaTurmasGeral.DataBind();
                }
            }
            catch (BusinessData.DataAccess.DataAccessException ex)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
            }
            catch (Exception ex)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
            }
        }
    }
예제 #13
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Calendario"] != null)
        {
            Label lbl = new Label();
            lbl.Text = "Calendário:";
            lbl.CssClass = "ms-toolbar";
            phCalendario.Controls.Add(lbl);

            //ASP.default_selecionacalendario_ascx calendar = (ASP.default_selecionacalendario_ascx)LoadControl("~/Default/SelecionaCalendario.ascx");
            Default_SelecionaCalendario_ calendar = (Default_SelecionaCalendario_)LoadControl("~/UserControls/SelecionaCalendario.ascx");
            calendar.CalendarioSelecionado += new EventHandler(calendar_CalendarioSelecionado);
            phCalendario.Controls.Add(calendar);

            Label userEmail = new Label();
            MembershipUser user = Membership.GetUser();
            if (user != null)
            {
                userEmail.Text = user.Email;
                userEmail.CssClass = "ms-toolbar";
                phActiveUser.Controls.Add(userEmail);
            }
            if (Roles.IsUserInRole("Admin"))
            {
                Control menu = LoadControl("~/UserControls/MenuAdmin.ascx");
                phMenu.Controls.Add(menu);
            }
            else if (Roles.IsUserInRole("Professor"))
            {
                if (Session["AppState"] != null && ((AppState)Session["AppState"]) != AppState.Admin)
                {
                    ProfessoresBO controleProfessores = new ProfessoresBO();
                    TurmaBO turmaBO = new TurmaBO();
                    Control menu = LoadControl("~/UserControls/MenuProfessor.ascx");
                    Calendario cal = (Calendario)Session["Calendario"];
                    //MembershipUser user = Membership.GetUser();
                    Guid professorId = new Guid(user.ProviderUserKey.ToString());

                    Professor prof = (Professor)controleProfessores.GetPessoaById(professorId);
                    AppState estado = (AppState)Session["AppState"];
                    string baseURL = "../Docentes/";
                    if (estado == AppState.Requisicoes)
                        baseURL += "EditarAula.aspx?GUID=";
                    if (estado == AppState.AtivoSemestre)
                        baseURL += "EditarAulaSemestre.aspx?GUID=";

                    try
                    {
                        int pos = 1;
                        List<Turma> listaTurmas = turmaBO.GetTurmas(cal, prof);
                        listaTurmas.Sort();
                        foreach (Turma t in listaTurmas)
                        {

                            Label x = new Label();
                            x.Text = "<span style=\"padding:4px\"> <a  href=\"" + baseURL + t.Id + "\">" + getNomeCurtoDisciplina(t.Disciplina) + " - " + t.Numero + "</a></span><br/>";
                            x.CssClass = "ms-toolbar-small";

                            //x.("left=3px;top=3px");
                            menu.Controls.AddAt(pos++, x);
                        }
                    }
                    finally
                    {
                        phMenu.Controls.Add(menu);
                    }
                }
            }
            else if (Roles.IsUserInRole("Secretario"))
            {
                if (Session["AppState"] != null && ((AppState)Session["AppState"]) != AppState.Admin)
                {
                    Control menu = LoadControl("~/UserControls/MenuSecretario.ascx");
                    phMenu.Controls.Add(menu);
                }
            }
        }
    }
예제 #14
0
        public void CriarAulas(Calendario cal)
        {
            try
            {
                //ordena lista da datas
                cal.Datas.Sort();
                //Recebe a lista das turmas
                TurmaBO contadorroleTurmas         = new TurmaBO();
                IList <Entities.Turma> listaTurmas = contadorroleTurmas.GetTurmas(cal);
                Util.DataHelper        dheper      = new BusinessData.Util.DataHelper();
                //Recebe a lista das atividades
                CategoriaAtividadeBO       contadorroleAtividades = new CategoriaAtividadeBO();
                IList <CategoriaAtividade> listaAtividades        = contadorroleAtividades.GetCategoriaAtividade();
                if (listaAtividades.Count == 0)
                {
                    throw new IndexOutOfRangeException();
                }

                CategoriaAtividade cat = listaAtividades[0];
                foreach (CategoriaAtividade categoria in listaAtividades)
                {
                    if (categoria.Descricao.Equals("Aula"))
                    {
                        cat = categoria;
                    }
                }

                AulaBO contadorroleAulas = new AulaBO();
                Aula   aulaAux;
                //Percorre todas as turmas na lista
                foreach (Turma turmaAux in listaTurmas)
                {
                    string horario = turmaAux.DataHora;

                    //dado um horario pucrs(2ab,4cd), exclui os horarios e guarda os dias em array de inteiros
                    string diasPucrs = Regex.Replace(horario, "[a-zA-Z]", String.Empty);

                    int   tamanho = diasPucrs.Length;
                    int[] dias    = new int[tamanho];
                    for (int i = 0; i < tamanho; i++)
                    {
                        dias[i] = Convert.ToInt32(diasPucrs.Substring(i, 1));
                    }

                    string[] horariosPucrs = horario.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }, StringSplitOptions.RemoveEmptyEntries);

                    DateTime aux = cal.InicioG1;

                    while (aux <= cal.FimG2)
                    {
                        for (int i = 0; i < dias.Length; i++)
                        {
                            if ((int)(aux.DayOfWeek) == (dias[i] - 1))
                            {
                                aulaAux = Aula.newAula(turmaAux, horariosPucrs[i], aux, string.Empty, cat);
                                this.InsereAula(aulaAux);
                            }
                        }
                        aux = aux.AddDays(1);
                    }
                }
            }
            catch (DataAccessException ex)
            {
                throw ex;
            }
        }
예제 #15
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Request.QueryString["GUID"] != null)
            {
                try
                {
                    CursosBO cursoBO = new CursosBO();
                    DisciplinasBO discBO = new DisciplinasBO();
                    ProfessoresBO profBO = new ProfessoresBO();
                    TurmaBO boTurma = new TurmaBO();
                    Calendario cal = (Calendario)Session["Calendario"];

                    try
                    {
                        Turma turma = boTurma.GetTurmaById(new Guid(Request.QueryString["GUID"]), cal);
                        ddlDisciplina.DataSource = discBO.GetDisciplinas(cal);
                        ddlDisciplina.DataTextField = "Nome";
                        ddlDisciplina.DataValueField = "Cod";
                        ddlDisciplina.SelectedValue = turma.Disciplina.Cod;
                        ddlDisciplina.DataBind();

                        txtNumero.Text = Convert.ToString(turma.Numero);
                        txtDataHora.Text = turma.DataHora;

                        ddlProfessor.DataSource = profBO.GetProfessores();
                        ddlProfessor.DataTextField = "Nome";
                        ddlProfessor.DataValueField = "Id";
                        ddlProfessor.SelectedValue = (turma.Professor.Id).ToString();
                        ddlProfessor.DataBind();

                        ddlCurso.DataSource = cursoBO.GetCursos();
                        ddlCurso.DataTextField = "Nome";
                        ddlCurso.DataValueField = "Codigo";
                        ddlCurso.SelectedValue = turma.Curso.Codigo;
                        ddlCurso.DataBind();

                    }
                    catch(FormatException )
                    {
                        Response.Redirect("~/Turmas/ListaTurmas.aspx");
                    }

                }
                catch (BusinessData.DataAccess.DataAccessException )
                {
                    Response.Redirect("~/Turmas/ListaTurmas.aspx");
                }
            }
            else
            {
                Response.Redirect("~/Turmas/ListaTurmas.aspx");
            }
        }
    }