protected void btnDistribuirHorarios_Click(object sender, EventArgs e) { Calendario calendario = (Calendario)Session["Calendario"]; AulaBO aulaBO = new AulaBO(); aulaBO.CriarAulas(calendario); //AlocacaoBO alocacaoBO = new AlocacaoBO(); //alocacaoBO.preencheCalendario(calendario); }
public void InsereTurma(Turma turma, Calendario cal) { InsereTurma(turma); ConfigBO configuracoes = new ConfigBO(); if (configuracoes.IsAulasDistribuidas(cal)) { AulaBO controleAulas = new AulaBO(); controleAulas.CriarAulas(cal, turma); } }
protected void Button1_Click(object sender, EventArgs e) { AulaBO aulabo = new AulaBO(); Guid g = new Guid("63529733-08BB-466C-BDE5-1F822BDC358C"); //Aula aula = aulabo.GetAulaById(new Guid("63529733-08BB-466C-BDE5-1F822BDC358C")); Aula aula = null; Evento evento = null; AlocacaoDAO aloc = new AlocacaoDAO(); RecursosBO rec = new RecursosBO(); List<Alocacao> lista = new List<Alocacao>(); DateTime data = new DateTime(2007, 08, 01); string hora = "np"; Alocacao a = new Alocacao(rec.GetRecursoById(g), data, hora, aula, evento); aloc.UpdateAlocacao(a); //lista = aloc.GetRecursosAlocados(data, hora); }
public ControladorDistribuirAulasBO() { aulasBO = new AulaBO(); alocacaoBO = new AlocacaoBO(); configBO = new ConfigBO(); }
protected void dgTurmas_ItemDataBound(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { List<Turma> listaTurmas = null; if (Session["Turmas"] != null) listaTurmas = (List<Turma>)Session["Turmas"]; Label lblAulaId = (Label)e.Item.FindControl("lblAulaId"); DateTime data = Convert.ToDateTime(Session["Data"]); string horario = (string)Session["Horario"]; AulaBO aulaBO = new AulaBO(); Aula aula = aulaBO.GetAula(listaTurmas[e.Item.DataSetIndex].Id, data, horario); lblAulaId.Text = aula.Id.ToString(); } }
protected void dgTurmas_ItemCommand(object sender, DataGridCommandEventArgs e) { if (e.CommandName == "Transferir") { if (rblRecursos.SelectedValue != "") { DateTime data = Convert.ToDateTime(Session["Data"]); Guid eventoId = new Guid(Session["EventoId"].ToString()); string horario = (string)Session["Horario"]; Guid recId = new Guid(rblRecursos.SelectedValue); List<Troca> listaTrocas = trocaBO.GetNaoVisualizadasByEvento(eventoId, data, horario); bool controle = false; //verifica se o recurso n esta envolvido em alguma troca if (listaTrocas.Count != 0) { foreach (Troca t in listaTrocas) { if (t.AlocacaoAtual.Recurso.Id == recId || t.AlocacaoDesejada.Recurso.Id == recId) controle = true; } } if (!controle) { Alocacao aloc = alocBO.GetAlocacao(recId, data, horario); Label lblAulaId = (Label)e.Item.FindControl("lblAulaId"); Label lblTurmaId = (Label)e.Item.FindControl("lblTurmaId"); Turma turmaRecebeu = turmaBO.GetTurmaById(new Guid(lblTurmaId.Text)); Turma turmaTrans = null; Guid eventoTransId = new Guid(Session["EventoId"].ToString()); Evento eventoTrans = eventoBO.GetEventoById(eventoTransId); Evento eventoRec = null; Transferencia trans = new Transferencia(Guid.NewGuid(), aloc.Recurso, data, horario, turmaRecebeu, turmaTrans, false, eventoRec, eventoTrans); aloc.Horario = horario; AulaBO aulaBO = new AulaBO(); aloc.Aula = aulaBO.GetAulaById(new Guid(lblAulaId.Text)); aloc.Evento = null; alocBO.UpdateAlocacao(aloc); transBO.InsereTransferencia(trans); FechaJanela(); } else { lblStatus.Text = "Este recurso não pode ser transferido por estar envolvido numa troca."; ddlResponsavel.SelectedIndex = 0; dgTurmas.Visible = false; } } else { lblStatus.Text = "Selecione um recurso para efetuar a transferência"; } } }
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; } }
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { if (Session["AppState"] != null && ((AppState)Session["AppState"]) == AppState.Admin) { Server.Transfer("~/Default/Erro.aspx?Erro=O sistema está bloqueado."); } //else if ((AppState)Session["AppState"] != AppState.Requisicoes) // Server.Transfer("~/Default/Erro.aspx?Erro=Os recursos já foram distribuídos."); else { if (Session["Calendario"] == null) { Response.Redirect("../Default/SelecionarCalendario.aspx"); } Guid idturma = new Guid(); if (Request.QueryString["GUID"] != null) { try { idturma = new Guid(Request.QueryString["GUID"]); } catch (FormatException) { Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!"); } Session["TurmaId"] = idturma; cal = (Calendario)Session["Calendario"]; CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO(); listaAtividades = cateBO.GetCategoriaAtividade(); AulaBO AulaBO = new AulaBO(); List<Aula> listaAulas = null; try { listaAulas = AulaBO.GetAulas(idturma); } catch (Exception) { Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!"); } foreach (Aula a in listaAulas) { categorias.Add(a.CategoriaAtividade.Id); argb.Add(a.CategoriaAtividade.Cor); } Disciplina disc = listaAulas[0].TurmaId.Disciplina; CategoriaDisciplina cat = disc.Categoria; //lblTitulo.text += " " + cat.Descricao; // Mega gambiarra master extended++ // TODO: retirar assim que possível! if(cat.Descricao.IndexOf("Outras Unidades") != -1) facin = false; lblTitulo.Text = listaAulas[0].TurmaId.Disciplina.Nome + " - Turma " + listaAulas[0].TurmaId.Numero;//+ " " + facin; Session["facin"] = facin; dgAulas.DataSource = listaAulas; dgAulas.DataBind(); } } } } catch (DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
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); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Session["Opcoes"] = 0; if (Session["Calendario"] == null) { Response.Redirect("../Default/SelecionarCalendario.aspx"); } listaRequisicoes = new List<DecoratorRequisicoes>(); if (Request.QueryString["AulaId"] != String.Empty) { try { AulaBO controleAulas = new AulaBO(); aulaAtual = controleAulas.GetAulaById(new Guid(Request.QueryString["AulaId"])); Session.Add("aulaAtual", aulaAtual); } catch (Exception ) { Response.Redirect("../Docentes/SelecionaTurma.aspx"); } } PopulaDDLCategoriaRecursos(); GetRequisicoes(); listaRequisicoes = Session["listaRequisicoes"] as List<DecoratorRequisicoes>; Session["Opcoes"] = listaRequisicoes.Count; } calendarioAtual = (Calendario)Session["Calendario"]; listaRequisicoes = Session["listaRequisicoes"] as List<DecoratorRequisicoes>; aulaAtual = Session["aulaAtual"] as Aula; limparSessao = false; }
protected void Page_Load(object sender, EventArgs e) { try { if (IsPostBack) return; if (Session["AppState"] != null && ((AppState)Session["AppState"]) == AppState.Admin) { Server.Transfer("~/Default/Erro.aspx?Erro=O sistema está bloqueado."); } else if (Session["AppState"] != null && (AppState)Session["AppState"] != AppState.AtivoSemestre) Server.Transfer("~/Default/Erro.aspx?Erro=O semestre ainda não foi iniciado."); else { if (Session["Calendario"] == null) { Response.Redirect("../Default/SelecionarCalendario.aspx"); } //FIXME: falta um else aqui? Guid idturma = new Guid(); if (Request.QueryString["GUID"] != null) { try { idturma = new Guid(Request.QueryString["GUID"]); } catch (FormatException) { Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!"); } Session["TurmaId"] = idturma; cal = (Calendario)Session["Calendario"]; CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO(); listaAtividades = cateBO.GetCategoriaAtividade(); AulaBO AulaBO = new AulaBO(); List<Aula> listaAulas = null; try { listaAulas = AulaBO.GetAulas(idturma); } catch (Exception) { Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!"); } Disciplina d = listaAulas[0].TurmaId.Disciplina; CategoriaDisciplina cat = d.Categoria; // Mega gambiarra master extended++ // TODO: retirar assim que possível! if(cat.Descricao.IndexOf("Outras Unidades") != -1) facin = false; Session["facin"] = facin; lblTitulo.Text = d.Cod + "-" + d.Cred + " " + d.Nome + ", turma " + listaAulas[0].TurmaId.Numero;//" "+facin; foreach (Aula a in listaAulas) { categorias.Add(a.CategoriaAtividade.Id); argb.Add(a.CategoriaAtividade.Cor); } dgAulas.DataSource = listaAulas; dgAulas.DataBind(); // Monta dicionário com bloqueio de recursos devido a uso de outros // Movido para Global.asax (Application_Start) //Dictionary<Guid, Tuple<Guid,Guid>> blocks = new Dictionary<Guid, Tuple<Guid,Guid>>(); //List<Recurso> listRec = recursosBO.GetRecursos(); //foreach (Recurso r in listRec) { // if(r.Bloqueia1 != Guid.Empty || r.Bloqueia2 != Guid.Empty) // { // //System.Diagnostics.Debug.WriteLine("block: " + r.Id + " -> " + r.Bloqueia1 + ", " + r.Bloqueia2); // blocks.Add(r.Id, new Tuple<Guid,Guid>(r.Bloqueia1, r.Bloqueia2)); // } //} //Session["blocks"] = blocks; } } } catch (DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
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; } }
public void InsereTurma(Turma turma, Calendario cal) { InsereTurma(turma); ConfigBO configuracoes = new ConfigBO(); if (configuracoes.IsAulasDistribuidas(cal)) { AulaBO controleAulas = new AulaBO(); controleAulas.CriarAulas(cal,turma); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["DownHtml"] == null) { Server.Transfer("~/Docentes/SelecionaTurma.aspx"); return; } if (Session["TurmaId"] == null) { // FIXME: nem sempre o usuário estava na ListaEventos. Server.Transfer("~/Docentes/ListaEventos.aspx"); return; } dgAulas.ItemDataBound += new DataGridItemEventHandler(dgAux_ItemDataBound); dgAulas.DataSource = Session["DownHtml"] as DataTable; dgAulas.DataBind(); MemoryStream ms = new MemoryStream(); StreamWriter sw = new StreamWriter(ms, Encoding.UTF8); HtmlTextWriter txtSaida = new HtmlTextWriter(sw); Guid idturma = (Guid)Session["TurmaId"]; string titulo = "***"; try { AulaBO AulaBO = new AulaBO(); List<Aula> listaAulas = null; try { listaAulas = AulaBO.GetAulas(idturma); } catch (Exception) { Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!"); return; } Turma turma = listaAulas[0].TurmaId; Disciplina disciplina = turma.Disciplina; titulo = disciplina.Cod + "-"+disciplina.Cred + " " +disciplina.Nome + " (" + turma.Numero + ")"; txtSaida.Write("<html>\n"); txtSaida.Write("<head>\n</head>\n"); txtSaida.Write("<body>\n"); txtSaida.Write("<H1>\n" + titulo + "</H1>\n"); dgAulas.RenderControl(txtSaida); txtSaida.Write("\n</body>\n</html>"); } catch (System.IO.IOException) { Response.Redirect("~/Default/Erro.aspx"); return; } finally { sw.Dispose(); } Response.AddHeader("Content-disposition", "attachment; filename=cronograma.html"); Response.ContentType = "text/html"; Response.ContentEncoding = Encoding.UTF8; try { Response.BinaryWrite(ms.ToArray()); Response.End(); } finally { ms.Close(); } }
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { if (Session["AppState"] != null && ((AppState)Session["AppState"]) == AppState.Admin) { Server.Transfer("~/Default/Erro.aspx?Erro=O sistema está bloqueado."); } else { if (Session["Calendario"] == null) { Response.Redirect("../Default/SelecionarCalendario.aspx"); } Guid idturma; if (Request.QueryString["GUID"] != null) { idturma = new Guid(Request.QueryString["GUID"]); Session["TurmaId"] = idturma; cal = (Calendario)Session["Calendario"]; CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO(); listaAtividades = cateBO.GetCategoriaAtividade(); AulaBO AulaBO = new AulaBO(); List<Aula> listaAulas = AulaBO.GetAulas(idturma); foreach (Aula a in listaAulas) { categorias.Add(a.CategoriaAtividade.Id); argb.Add(a.CategoriaAtividade.Cor); } dgAulas.DataSource = listaAulas; dgAulas.DataBind(); } } } } catch (DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }