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 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); }
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); } }
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); }
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 Page_Load(object sender, EventArgs e) { cal = null; Guid idturma = new Guid(); bool mostraAval = true; if (Request.QueryString["id"] != null) { listCData = cdataBo.GetCategoriaDatas(); try { idturma = new Guid(Request.QueryString["id"]); int ano = int.Parse(Request.QueryString["ano"]); int semestre = int.Parse(Request.QueryString["sem"]); CalendariosBO calBO = new CalendariosBO(); cal = calBO.GetCalendarioByAnoSemestre(ano, semestre); string strProx = Request.QueryString["aval"]; if (string.IsNullOrEmpty(strProx)) { mostraAval = false; } } catch (FormatException) { Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!"); } Session["TurmaId"] = idturma; CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO(); List <CategoriaAtividade> 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; string sala = Regex.Replace(listaAulas[0].TurmaId.Sala, "32/A", "32"); string titulo = d.Cod + "-" + d.Cred + " " + d.Nome + " (" + listaAulas[0].TurmaId.Numero + ") - " + sala;//" "+facin; lblTitulo.Text = titulo; string shortTitle = ""; foreach (string part in d.Nome.Split()) { if (part.Length == 1 && part[0] != 'I') { continue; } if (part == "de" || part == "do" || part == "da" || part == "em") { continue; } if (part == "I" || part == "II" || part == "III" || part == "IV" || part == "V" || part == "A" || part == "B" || part == "C") { shortTitle += part; } else { shortTitle += char.ToUpper(part[0]); } } string st = shortTitle; string output = "BEGIN:VCALENDAR\n"; output += "PRODID:-//SARC//" + d.Cod + "-" + d.Cred + " " + d.Nome + "//PT\n"; output += "VERSION:2.0\n"; output += "CALSCALE:GREGORIAN\n"; output += "METHOD:PUBLISH\n"; output += "X-WR-CALNAME:" + st + "\n"; output += "X-WR-TIMEZONE:America/Sao_Paulo\n"; output += "X-WR-CALDESC:" + st + "\n"; DateTime hoje = DateTime.Now; DataTable tabela = new DataTable(); AlocacaoBO alocBO = new AlocacaoBO(); foreach (DataGridColumn coluna in dgAulas.Columns) { tabela.Columns.Add(coluna.HeaderText); } int totalAulas = 1; DataRow dr; bool notset = true; foreach (Aula aula in listaAulas) { string hi = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.ToString().Substring(0, 5); string hf = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.Add(TimeSpan.FromMinutes(90)).ToString().Substring(0, 5); dr = tabela.NewRow(); dr["#"] = totalAulas++; dr["Dia"] = DataHelper.GetDia(aula.Data.DayOfWeek); dr["Data"] = aula.Data.Date.ToShortDateString(); dr["Hora"] = aula.Hora + "<br>" + hi + " - " + hf; dr["Descrição"] = aula.DescricaoAtividade; dr["Atividade"] = aula.CategoriaAtividade.Descricao; dr["Prox"] = ""; DateTime startDt = aula.Data.Add(Horarios.ParseToDateTime(aula.Hora).TimeOfDay).AddHours(3); DateTime endDt = startDt.AddMinutes(90); List <BusinessData.Entities.Recurso> recAlocados = alocBO.GetRecursoAlocadoByAula(aula.Data, aula.Hora, (Guid)aula.Id); string aux = ""; string recHoje = ""; shortTitle = st; foreach (var rec in recAlocados) { if (aux != String.Empty) { aux += "<br/>" + rec.Descricao; } else { aux = rec.Descricao; //Debug.WriteLine("Tipo recurso:" + rec.Tipo); if (rec.Tipo == 'L' || rec.Tipo == 'A' || rec.Tipo == 'D') { recHoje = rec.Descricao; shortTitle += " " + recHoje.Split().Last(); break; } } } dr["Recursos"] = aux; dr["CorDaData"] = aula.CategoriaAtividade.Cor.ToArgb(); if (aula.Data.Date >= cal.InicioG2) { dr["#"] = ""; totalAulas--; } Data data = VerificaData(aula.Data.Date); bool diaLetivo = true; if (data != null) { foreach (CategoriaData c in listCData) { if (c.Id == data.Categoria.Id) { if (!c.DiaLetivo) { dr["Descrição"] = c.Descricao + (aula.DescricaoAtividade != "Feriado" ? " (era " + aula.DescricaoAtividade + ")" : ""); dr["#"] = ""; totalAulas--; diaLetivo = false; break; } } } } //Debug.WriteLine("Cor aula: " + aula.CategoriaAtividade.Cor.ToString()); tabela.Rows.Add(dr); if (recHoje == string.Empty) { recHoje = sala; shortTitle += " " + recHoje; } if (diaLetivo) { if (mostraAval && aula.CategoriaAtividade.Descricao != "Prova" && aula.CategoriaAtividade.Descricao != "Prova de Substituição" && aula.CategoriaAtividade.Descricao != "Prova de G2" && aula.CategoriaAtividade.Descricao != "Trabalho") { continue; } output += "BEGIN:VEVENT\n"; output += "DESCRIPTION: " + aula.DescricaoAtividade + "\n"; output += "SUMMARY: " + shortTitle + "\n"; output += string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}\n", DateTime.Now); // output += "DTSTART:"+startDt.Year+startDt.Month+startDt.Day+startDt.Hour+startDt.Minute+startDt.Second+"\n"; //output += "DTSTART:" + startDt.ToString() + "\n"; output += string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}\n", startDt); output += string.Format("DTEND:{0:yyyyMMddTHHmmssZ}\n", endDt); output += "LOCATION:" + recHoje + "\n"; output += "SEQUENCE:0\n"; output += "TRANSP:OPAQUE\n"; SHA256 sha = SHA256.Create(); byte[] uidarray = sha.ComputeHash(Encoding.Unicode.GetBytes(aula.DescricaoAtividade + startDt.ToString() + shortTitle + endDt.ToString())); string uid = Convert.ToBase64String(uidarray); output += "UID:" + uid + "\n"; output += "END:VEVENT\n"; } } dgAulas.DataSource = tabela; dgAulas.ItemDataBound += new DataGridItemEventHandler(dgAux_ItemDataBound); dgAulas.DataBind(); output += "END:VCALENDAR\n"; Response.AppendHeader("Content-Disposition", "attachment; filename=" + st + ".ics"); Response.ContentType = "text/calendar"; Response.Write(output); Response.End(); } }
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.Disciplina.Categoria.Descricao == "AGES"; // 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 (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 + ") - " + Regex.Replace(turma.Sala, "32/A", "32"); 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 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"; } } }
protected void Page_Load(object sender, EventArgs e) { string cs = ConfigurationManager.ConnectionStrings["SARCFACINcs"].ConnectionString; if (cs.Contains("SARCDEV")) { semRecursos = false; } 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; } Disciplina d = listaAulas[0].TurmaId.Disciplina; lblTitulo.Text = listaAulas[0].TurmaId.Disciplina.NomeCodCred + " - Turma " + listaAulas[0].TurmaId.Numero + " - " + Regex.Replace(listaAulas[0].TurmaId.Sala, "32/A", "32"); Session["facin"] = facin; int horasRelogioEsperadas = d.Cred * 15; int durPeriodo = 45; /* if (listaAulas[0].Hora == "JK" || listaAulas[0].Hora == "LM" || listaAulas[0].Hora == "NP" || listaAulas[1].Hora == "JK" || listaAulas[1].Hora == "LM" || listaAulas[1].Hora == "NP" || listaAulas[1].Hora == "JK" || listaAulas[2].Hora == "LM" || listaAulas[2].Hora == "NP") || durPeriodo = 45;*/ int totalAulas = 0; bool emG2 = false; bool haG2 = false; int totalFeriados = 0; foreach (Aula a in listaAulas) { categorias.Add(a.CategoriaAtividade.Id); argb.Add(a.CategoriaAtividade.Cor); if (a.Data >= cal.InicioG2) { //if (a.CategoriaAtividade.Descricao == "Prova de G2") //Debug.WriteLine("EM G2"); emG2 = true; } if (a.DescricaoAtividade.StartsWith("Feriado") || a.DescricaoAtividade.StartsWith("Suspensão")) { totalFeriados++; } if (a.CategoriaAtividade.Descricao == "Prova de G2") { haG2 = true; } if (!a.DescricaoAtividade.StartsWith("Feriado") && !a.DescricaoAtividade.StartsWith("Suspensão") && a.CategoriaAtividade.Descricao != "Prova de G2" && !emG2) { totalAulas++; } } // Contando mais uma aula por causa da G2 que pulamos antes // if (haG2) // totalAulas++; int totalEfetivo = totalAulas * 2 * durPeriodo / 60; int complementares = horasRelogioEsperadas - totalEfetivo; if (complementares < 0) { complementares = 0; } //lblHoras.Text = "Duração do período: " + durPeriodo + " - Horas esperadas: " + horasRelogioEsperadas + " - Horas efetivas: " + totalEfetivo // + " - <b>Previsão de horas extraclasse: " + (horasRelogioEsperadas - totalEfetivo) + "</B>"; // int minutosEsperados = horasRelogioEsperadas * 60; int minutosFeriado = durPeriodo * totalFeriados * 2; int minutosEsperados = durPeriodo * 2 * 18 * d.Cred / 2; minutosFeriado = 0; int horasMinistradas = (minutosEsperados - minutosFeriado) / 60; int extraClasse = horasRelogioEsperadas - horasMinistradas; Debug.WriteLine("Total aulas: " + totalAulas); Debug.WriteLine("Minutos feriado: " + minutosFeriado); Debug.WriteLine("Minutos esperados: " + minutosEsperados); lblHoras.Text = "- Horas esperadas: " + horasRelogioEsperadas + " - Horas efetivas: " + totalEfetivo + " - <b>Previsão de horas para TDE: " + complementares + "</B>"; dgAulas.DataSource = listaAulas; dgAulas.DataBind(); } } } } catch (DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
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) { 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); } }
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 + " - " + Regex.Replace(listaAulas[0].TurmaId.Sala, "32/A", "32");//" "+facin; int horasRelogioEsperadas = d.Cred * 15; int durPeriodo = 45; /* if (listaAulas[0].Hora == "JK" || listaAulas[0].Hora == "LM" || listaAulas[0].Hora == "NP" || listaAulas[1].Hora == "JK" || listaAulas[1].Hora == "LM" || listaAulas[1].Hora == "NP" || listaAulas[1].Hora == "JK" || listaAulas[2].Hora == "LM" || listaAulas[2].Hora == "NP") || durPeriodo = 45;*/ int totalAulas = 0; bool emG2 = false; bool haG2 = false; int totalFeriados = 0; foreach (Aula a in listaAulas) { categorias.Add(a.CategoriaAtividade.Id); argb.Add(a.CategoriaAtividade.Cor); if (a.Data >= cal.InicioG2) { //if (a.CategoriaAtividade.Descricao == "Prova de G2") //Debug.WriteLine("EM G2"); emG2 = true; } if (a.DescricaoAtividade.StartsWith("Feriado") || a.DescricaoAtividade.StartsWith("Suspensão")) { totalFeriados++; } if (a.CategoriaAtividade.Descricao == "Prova de G2") { haG2 = true; } if (!a.DescricaoAtividade.StartsWith("Feriado") && !a.DescricaoAtividade.StartsWith("Suspensão") && a.CategoriaAtividade.Descricao != "Prova de G2" && !emG2) { totalAulas++; } } // Contando mais uma aula por causa da G2 que pulamos antes //if(haG2) // totalAulas++; int totalEfetivo = totalAulas * 2 * durPeriodo / 60; int complementares = horasRelogioEsperadas - totalEfetivo; if (complementares < 0) { complementares = 0; } //lblHoras.Text = "Duração do período: " + durPeriodo + " - Horas esperadas: " + horasRelogioEsperadas + " - Horas efetivas: " + totalEfetivo // + " - <b>Previsão de horas extraclasse: " + (horasRelogioEsperadas - totalEfetivo) + "</B>"; // int minutosEsperados = horasRelogioEsperadas * 60; int minutosFeriado = durPeriodo * totalFeriados * 2; int minutosEsperados = durPeriodo * 2 * 18 * d.Cred / 2; int horasMinistradas = (minutosEsperados - minutosFeriado) / 60; int extraClasse = horasRelogioEsperadas - horasMinistradas; Debug.WriteLine("Minutos feriado: " + minutosFeriado); Debug.WriteLine("Minutos esperados: " + minutosEsperados); //lblHoras.Text = "Duração do período: " + durPeriodo + " - Horas esperadas: " + horasRelogioEsperadas + " - Horas efetivas: " + horasMinistradas // + " - <b>Previsão de horas extraclasse: " + extraClasse + "</B>"; lblHoras.Text = "- Horas esperadas: " + horasRelogioEsperadas + " - Horas efetivas: " + totalEfetivo + " - <b>Previsão de horas para TDE: " + complementares + "</B>"; dgAulas.DataSource = listaAulas; dgAulas.DataBind(); if (Session["blocks"] == null) { //BusinessData.BusinessLogic.RecursosBO recursosBO = new BusinessData.BusinessLogic.RecursosBO(); // Monta dicionário com bloqueio de recursos devido a uso de outros Dictionary <Guid, BusinessData.Entities.Recurso> todos = new Dictionary <Guid, BusinessData.Entities.Recurso>(); Dictionary <Guid, Tuple <Guid, Guid> > blocks = new Dictionary <Guid, Tuple <Guid, Guid> >(); List <BusinessData.Entities.Recurso> listRec = recursosBO.GetRecursos(); foreach (BusinessData.Entities.Recurso r in listRec) { todos.Add(r.Id, r); } foreach (BusinessData.Entities.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; } // Gera link para HTML Link1.NavigateUrl = "~/Default/Export.aspx?id=" + idturma + "&ano=" + cal.Ano + "&sem=" + cal.Semestre; string navlink = "/Default/ExportIcal.aspx?id=" + idturma + "&ano=" + cal.Ano + "&sem=" + cal.Semestre; Link2.NavigateUrl = "https://www.google.com/calendar/render?cid=" + Server.UrlEncode("http://" + Request.Url.Host + navlink); Link3.NavigateUrl = "webcal://" + Request.Url.Host + navlink; Link4.NavigateUrl = "~" + navlink; // 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); } }
protected void Page_Load(object sender, EventArgs e) { cal = null; Guid idturma = new Guid(); bool mostraProx = true; if (Request.QueryString["id"] != null) { listCData = cdataBo.GetCategoriaDatas(); try { idturma = new Guid(Request.QueryString["id"]); int ano = int.Parse(Request.QueryString["ano"]); int semestre = int.Parse(Request.QueryString["sem"]); CalendariosBO calBO = new CalendariosBO(); cal = calBO.GetCalendarioByAnoSemestre(ano, semestre); string strProx = Request.QueryString["prox"]; if (string.IsNullOrEmpty(strProx)) { mostraProx = false; } } catch (FormatException) { Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!"); } Session["TurmaId"] = idturma; CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO(); List <CategoriaAtividade> 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; string sala = Regex.Replace(listaAulas[0].TurmaId.Sala, "32/A", "32"); string titulo = d.Cod + "-" + d.Cred + " " + d.Nome + " (" + listaAulas[0].TurmaId.Numero + ") - " + sala;//" "+facin; lblTitulo.Text = titulo; DateTime hoje = DateTime.Now; // if (mostraProx) // lblProx.Text = "26/08/2019 [QUA LM] - Apresentação (Sala de aula)"; DataTable tabela = new DataTable(); AlocacaoBO alocBO = new AlocacaoBO(); foreach (DataGridColumn coluna in dgAulas.Columns) { tabela.Columns.Add(coluna.HeaderText); } // tabela.Columns.Add("Recursos"); int totalAulas = 1; DataRow dr; bool notset = true; foreach (Aula aula in listaAulas) { string hi = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.ToString().Substring(0, 5); string hf = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.Add(TimeSpan.FromMinutes(90)).ToString().Substring(0, 5); dr = tabela.NewRow(); dr["#"] = totalAulas++; dr["Dia"] = DataHelper.GetDia(aula.Data.DayOfWeek); dr["Data"] = aula.Data.Date.ToShortDateString(); dr["Hora"] = aula.Hora + "<br>" + hi + " - " + hf; dr["Descrição"] = aula.DescricaoAtividade; dr["Atividade"] = aula.CategoriaAtividade.Descricao; dr["Prox"] = ""; List <BusinessData.Entities.Recurso> recAlocados = alocBO.GetRecursoAlocadoByAula(aula.Data, aula.Hora, (Guid)aula.Id); // dr["Recursos"] = ""; string aux = ""; string recHoje = ""; foreach (var rec in recAlocados) { if (aux != String.Empty) { aux += "<br/>" + rec.Descricao; } else { aux = rec.Descricao; //Debug.WriteLine("Tipo recurso:" + rec.Tipo); if (rec.Tipo == 'L' || rec.Tipo == 'A' || rec.Tipo == 'D' || rec.Tipo == 'X') { recHoje = rec.Descricao; } } } dr["Recursos"] = aux; dr["CorDaData"] = aula.CategoriaAtividade.Cor.ToArgb(); if (aula.Data.Date >= cal.InicioG2) { dr["#"] = ""; totalAulas--; } Data data = VerificaData(aula.Data.Date); if (data != null) { foreach (CategoriaData c in listCData) { if (c.Id == data.Categoria.Id) { if (!c.DiaLetivo) { dr["Descrição"] = c.Descricao + (aula.DescricaoAtividade != "Feriado" ? " (era " + aula.DescricaoAtividade + ")" : ""); dr["#"] = ""; totalAulas--; break; } } } } //Debug.WriteLine("Cor aula: " + aula.CategoriaAtividade.Cor.ToString()); tabela.Rows.Add(dr); if (recHoje == string.Empty) { recHoje = sala; } if (notset) {// && hoje.Date == aula.Data.Date) //Debug.WriteLine("Aula: " + aula.Data.ToString() + " - hoje: "+hoje.ToString()); switch (aula.Hora) { case "AB": aula.Data = aula.Data.AddHours(8); break; case "CD": aula.Data = aula.Data.AddHours(9).AddMinutes(45); break; case "EX": aula.Data = aula.Data.AddHours(11).AddMinutes(30); break; case "FG": aula.Data = aula.Data.AddHours(14); break; case "HI": aula.Data = aula.Data.AddHours(15).AddMinutes(45); break; case "JK": aula.Data = aula.Data.AddHours(17).AddMinutes(30); break; case "LM": aula.Data = aula.Data.AddHours(19).AddMinutes(15); break; case "NP": aula.Data = aula.Data.AddHours(21).AddMinutes(0); break; } long tickDiff = aula.Data.Ticks - hoje.Ticks; //Debug.WriteLine("Tickdiff: "+tickDiff); // hoje. TimeSpan ts = TimeSpan.FromTicks(tickDiff); //Debug.WriteLine("Timespan diff: " + ts.Duration().TotalHours); if (tickDiff >= 0 || ts.Duration().TotalHours < 1) { lblProx.Text = aula.Data.Date.ToShortDateString() + " [" + dr["Dia"] + " " + aula.Hora + "] - " + aula.DescricaoAtividade + " (" + recHoje + ")"; TimeSpan diff = aula.Data.Subtract(hoje); int roundedDays = (int)Math.Round(diff.TotalDays); // lblProx.Text += diff.TotalDays + " - " + diff.TotalHours + " - " + diff.TotalMinutes + " -> "+Math.Round(diff.TotalDays); //lblProx.Text += " -> " + aula.Data.ToString() + " - " + hoje.ToString(); /**/ if (roundedDays > 0) { if (roundedDays == 1) { lblProx.Text += " - amanhã"; } else { lblProx.Text += " - daqui a " + roundedDays + " dias"; } } else if (diff.Hours > 0) { lblProx.Text += " - começa em " + diff.Hours + " hora" + (diff.Hours > 1 ? "s" : ""); } else if (diff.Minutes > 0) { lblProx.Text += " - começa em " + diff.Minutes + " minuto" + (diff.Minutes > 1 ? "s" : ""); } else if (diff.Minutes < 0) { lblProx.Text += " - começou há " + (-diff.Minutes) + " minuto" + (diff.Minutes < 1 ? "s" : ""); } /**/ //lblProx.Text += " - " + diff.Days + " dias, " + diff.Hours + " horas, " + diff.Minutes + " minutos"; dr["Prox"] = "X"; // marca como a próxima aula na tabela if (!mostraProx) { lblProx.Text = ""; } else { // Se prox estiver ativo, oculta a grade e o título dgAulas.Visible = false; lblTitulo.Visible = false; break; } notset = false; } } } if (lblProx.Text == String.Empty && mostraProx) { dgAulas.Visible = false; lblTitulo.Visible = false; lblProx.Text = "Não há mais atividades"; } dgAulas.DataSource = tabela; dgAulas.ItemDataBound += new DataGridItemEventHandler(dgAux_ItemDataBound); dgAulas.DataBind(); } }