protected void populaCategoria() { try { ddlCategoria.DataSource = categBO.GetCategoriaDatas(); ddlCategoria.DataTextField = "Descricao"; ddlCategoria.DataValueField = "Id"; ddlCategoria.DataBind(); } catch (DataAccessException ex) { throw ex; } }
protected void Page_Load(object sender, EventArgs e) { try { CategoriaDataBO boCategoriaDataList = new CategoriaDataBO(); List <CategoriaData> listaCat = boCategoriaDataList.GetCategoriaDatas(); if (listaCat.Count == 0) { lblStatus.Text = "Nenhuma Categoria de Datas cadastrada."; lblStatus.Visible = true; } else { grvListaCategoriaData.DataSource = listaCat; grvListaCategoriaData.DataBind(); } } catch (BusinessData.DataAccess.DataAccessException ex) { Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message); } }
protected void grvListaCategoriaData_RowDeleting(object sender, GridViewDeleteEventArgs e) { try { CategoriaDataBO categoriaDataList = new CategoriaDataBO(); Guid id = (Guid)grvListaCategoriaData.DataKeys[e.RowIndex].Value; categoriaDataList.DeleteCategoriaData(id); lblStatus.Text = "Categoria de Datas excluída com sucesso."; lblStatus.Visible = true; grvListaCategoriaData.DataSource = categoriaDataList.GetCategoriaDatas(); grvListaCategoriaData.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); } }
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 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); } }
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 lblRecursosAlocados = (Label)e.Item.FindControl("lblRecursosAlocados"); //lblRecursosAlocados.ReadOnly = true; Label lblRecursosAlocadosId = (Label)e.Item.FindControl("lblRecursosAlocadosId"); Label lblAulaId = (Label)e.Item.FindControl("lblAulaId"); Label lblAula = (Label)e.Item.FindControl("lblAula"); Label lblHora = (Label)e.Item.FindControl("lblHora"); Panel pnRecursos = (Panel)e.Item.FindControl("pnRecursos"); HtmlTable tabRecursos = (HtmlTable)e.Item.FindControl("tabRecursos"); int i = tabRecursos.Rows[0].Cells[0].Controls.Count; CheckBoxList cbRecursos = (CheckBoxList)tabRecursos.Rows[0].Cells[0].Controls[1]; ImageButton butDel = (ImageButton)e.Item.FindControl("butDeletar"); ImageButton butTransf = (ImageButton)e.Item.FindControl("butTransferir"); ImageButton butTrocar = (ImageButton)e.Item.FindControl("butTrocar"); //CheckBoxList cbRecursos = (CheckBoxList) tabRecursos.FindControl("cbRecursos"); //Label tmp2 = new Label(); //tmp2.Text = "boo"; //pnRecursos.Controls.Add(tmp2); //Label tmp3 = new Label(); //tmp3.Text = "boo2"; //pnRecursos.Controls.Add(tmp3); //pnRecursos.BackColor = Color.Red; Color cor = argb[0]; //txtDescricao.Attributes.Add("onkeyup", "setDirtyFlag()"); //string call = "testAlert(this," + lblAula.Text + ")"; //txtDescricao.Attributes.Add("onkeyup", call); //txtDescricao.Attributes.Add("onkeyup", "this.className='changed'"); Label lbl = (Label)e.Item.FindControl("lblAula"); lbl.Text = ""; listCData = cdataBo.GetCategoriaDatas(); DateTime dataAtual = Convert.ToDateTime(lblData.Text); List <Recurso> livres = recursosBO.GetRecursosDisponiveis(dataAtual, lblHora.Text); livres.Sort(); Recurso dummy = new Recurso(); dummy.Descricao = "Selecionar..."; dummy.Id = dummyGuid; livres.Insert(0, dummy); DropDownList ddlDisponiveis = (DropDownList)e.Item.FindControl("ddlDisponiveis"); ddlDisponiveis.DataValueField = "Id"; ddlDisponiveis.DataTextField = "Descricao"; ddlDisponiveis.DataSource = livres; ddlDisponiveis.DataBind(); ddlAtividade.DataValueField = "Id"; ddlAtividade.DataTextField = "Descricao"; ddlAtividade.DataSource = listaAtividades; ddlAtividade.DataBind(); ddlAtividade.SelectedValue = categorias[0].ToString(); //Data data = null; //verifica as datas para pintar as linhas // Associa a chamada da funçao Javascript para setar a dirty flag + trocar cor string num = cont2.ToString(); if (cont2++ < 10) { num = "0" + num; } string call = "testAlert(this,'" + num + "')"; txtDescricao.Attributes.Add("onkeyup", call); 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; lblCorDaData.Text = "True"; txtDescricao.Text = c.Descricao; } 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 * { * lblDescData.Text = c.Descricao; * txtDescricao.Text = c.Descricao + "\n" + txtDescricao.Text; * }*/ } } } else { e.Item.BackColor = cor; lblCorDaData.Text = "False"; lbl.Text = (cont++).ToString(); // Associa a chamada da funçao Javascript para setar a dirty flag + trocar cor /*string num = cont.ToString(); * if (cont < 10) * num = "0" + num; * string call = "testAlert(this,'" + num + "')"; * txtDescricao.Attributes.Add("onkeyup", call); */ } } AtualizaComponentes(e.Item, lblData.Text, lblHora.Text, lblAulaId.Text); /* */ categorias.RemoveAt(0); argb.RemoveAt(0); } }
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]; listCData = cdataBo.GetCategoriaDatas(); List <Requisicao> listReq = reqBo.GetRequisicoesPorAula(new Guid(lblAulaId.Text), cal); string recursos = ""; foreach (Requisicao r in listReq) { recursos += r.CategoriaRecurso.Descricao + ", "; } lblRecursosSelecionados.Text = recursos; DateTime dataAtual = Convert.ToDateTime(lblData.Text); ddlAtividade.DataValueField = "Id"; ddlAtividade.DataTextField = "Descricao"; ddlAtividade.DataSource = listaAtividades; ddlAtividade.DataBind(); ddlAtividade.SelectedValue = categorias[0].ToString(); Data data = null; //verifica as data para pintar as linhas if ((dataAtual >= cal.InicioG2)) { e.Item.BackColor = Color.LightGray; } else if (VerificaData(dataAtual)) { foreach (Data d in cal.Datas) { if (d.Date == dataAtual) { data = d; } } 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"; } else { lblDescData.Text = c.Descricao; txtDescricao.Text = c.Descricao + "\n" + txtDescricao.Text; e.Item.BackColor = c.Cor; lblCorDaData.Text = "True"; } } } } else { e.Item.BackColor = cor; lblCorDaData.Text = "False"; } categorias.RemoveAt(0); argb.RemoveAt(0); Label lbl = (Label)e.Item.FindControl("lblAula"); lbl.Text = (cont++).ToString(); } }
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(); } }