コード例 #1
0
ファイル: Default.aspx.cs プロジェクト: filipi/OpenSARC
 private void VisualizarAlocacoesData()
 {
     try
     {
         if (txtData.Text.Length != 0)
         {
             List <Alocacao> listaAlocacoes = controladorAlocacoes.GetAlocacoesByData(DateTime.Parse(txtData.Text), (BusinessData.Entities.Calendario)Session["Calendario"]);
             if (listaAlocacoes.Count != 0)
             {
                 dgAlocacoes.DataSource = listaAlocacoes;
                 dgAlocacoes.Visible    = true;
                 dgAlocacoes.DataBind();
                 lblStatus.Visible = false;
             }
             else
             {
                 lblStatus.Text      = "Não existem recursos alocados na data informada.";
                 lblStatus.Visible   = true;
                 dgAlocacoes.Visible = false;
             }
         }
         else
         {
             lblStatus.Visible = true;
             FormatException excp = new FormatException();
             throw excp;
         }
     }
     catch (FormatException)
     {
         dgAlocacoes.Visible = false;
         lblStatus.Text      = "Digite uma data válida!";
         dgAlocacoes.Visible = false;
     }
 }
コード例 #2
0
ファイル: Consulta.aspx.cs プロジェクト: filipi/OpenSARC
    private void VisualizarAlocacoesData()
    {
        try
        {
            if (txtData.Text.Length != 0)
            {
                DateTime        now            = DateTime.Parse(txtData.Text);
                List <Alocacao> listaAlocacoes = controladorAlocacoes.GetAlocacoesByData(now, (BusinessData.Entities.Calendario)Session["Calendario"]);
                List <Alocacao> filtradaAtual  = new List <Alocacao>();
                List <Alocacao> filtradaProx   = new List <Alocacao>();

                //string horarioAtual = String.Empty;

                List <string>   horarios     = new List <string>();
                List <TimeSpan> horariosTime = new List <TimeSpan>();
                foreach (string hor in Enum.GetNames(typeof(Horarios.HorariosPUCRS)))
                {
                    horariosTime.Add(Horarios.ParseToDateTime(hor).TimeOfDay);
                    horarios.Add(hor.ToString());
                }

                TimeSpan nowTime = DateTime.Now.TimeOfDay;
                //nowTime = nowTime.Add(new TimeSpan(2,0,0)); // para testar com outros horarios

                // Identifica o período de aula atual
                int pos;
                if (nowTime < horariosTime[0])
                {
                    pos = 0;
                }
                else
                {
                    for (pos = 0; pos < horarios.Count - 1; pos++)
                    {
                        if (nowTime >= horariosTime[pos] && nowTime <= horariosTime[pos + 1])
                        {
                            break;
                        }
                    }
                }

                lblAtual.Text = "Horário atual: " + horarios[pos];//+" - "+nowTime.ToString();

                string horarioAtual = horarios[pos];
                string horarioProx  = String.Empty;
                if (pos < horarios.Count - 1)              // se nao estivermos ja no ultimo horario...
                {
                    horarioProx     = horarios[pos + 1];
                    lblProximo.Text = "Proximo horario: " + horarioProx;
                }

                bool achei = false;

                foreach (Alocacao aloc in listaAlocacoes)
                {
                    if (aloc.Horario != horarioAtual && aloc.Horario != horarioProx && achei)                    // ja achou, ou seja, mudou o horario
                    {
                        break;
                    }
                    if (aloc.Horario == horarioAtual)
                    {
                        //Alocacao nova = new Alocacao(aloc.Recurso,aloc.Data,aloc.Horario,aloc.Aula,aloc.Evento);
                        //nova.Delta = dif.TotalMinutes.ToString();
                        filtradaAtual.Add(aloc);
                        achei = true;                         // indica que ja achou - quando o horario mudar, sai do foreach
                    }
                    if (aloc.Horario == horarioProx)
                    {
                        //Alocacao nova = new Alocacao(aloc.Recurso,aloc.Data,aloc.Horario,aloc.Aula,aloc.Evento);
                        filtradaProx.Add(aloc);
                        achei = true;
                    }
                }
                if (filtradaAtual.Count != 0)
                {
                    dgAlocacoes.DataSource = filtradaAtual;
                    dgAlocacoes.Visible    = true;
                    dgAlocacoes.DataBind();
                    lblStatus.Visible = false;
                }
                if (filtradaProx.Count != 0)
                {
                    dgAlocacoes2.DataSource = filtradaProx;
                    dgAlocacoes2.DataBind();
                    dgAlocacoes2.Visible = true;
                    lblStatus.Visible    = false;
                }
                if (filtradaAtual.Count == 0 && filtradaProx.Count == 0)
                {
                    lblStatus.Text      = "Não existem recursos alocados para hoje.";
                    lblStatus.Visible   = true;
                    dgAlocacoes.Visible = false;
                }
            }
            else
            {
                lblStatus.Visible = true;
                FormatException excp = new FormatException();
                throw excp;
            }
        }
        catch (FormatException)
        {
            dgAlocacoes.Visible = false;
            lblStatus.Text      = "Digite uma data válida!";
            dgAlocacoes.Visible = false;
        }
    }
コード例 #3
0
    private void VisualizarAlocacoesData()
    {
        DateTime tmp     = DateTime.Parse(lblDataHora.Text);
        DateTime now     = tmp.Date;
        TimeSpan nowTime = tmp.TimeOfDay;

        AlocacaoBO      controladorAlocacoes = new AlocacaoBO();
        List <Alocacao> listaAlocacoes       = controladorAlocacoes.GetAlocacoesByData(now, (BusinessData.Entities.Calendario)Session["Calendario"]);
        //TimeSpan nowTime = DateTime.Now.TimeOfDay;
        //nowTime = nowTime.Add(new TimeSpan(2,0,0)); // para testar com outros horarios
        //nowTime = nowTime.Subtract(new TimeSpan(0,12,0));

        // Identifica o período de aula atual
        int pos;

        if (nowTime < horariosTime[0])
        {
            pos = 0;
        }
        else
        {
            for (pos = 0; pos < horarios.Count - 1; pos++)
            {
                if (nowTime >= horariosTime[pos] && nowTime < horariosTime[pos + 1])
                {
                    break;
                }
            }
        }

        List <Alocacao> filtradaAtual = ProcuraProximoHorario(listaAlocacoes, ref pos);

        foreach (Alocacao aloc in filtradaAtual)
        {
            System.Diagnostics.Debug.WriteLine(">>> " + aloc.Recurso.ToString());
        }
        if (filtradaAtual != null && filtradaAtual.Count != 0)
        {
            //Response.Write("pos="+pos+"<br/>");
            lblAtual.Text          = horarios[pos - 1];
            dgAlocacoes.DataSource = filtradaAtual;
            dgAlocacoes.Visible    = true;
            dgAlocacoes.DataBind();
            lblStatus.Visible = false;
        }

        List <Alocacao> filtradaProx = ProcuraProximoHorario(listaAlocacoes, ref pos);

        if (filtradaProx != null && filtradaProx.Count != 0)
        {
            //Response.Write("pos="+pos+"<br/>");
            lblProximo.Text         = horarios[pos - 1];
            dgAlocacoes2.DataSource = filtradaProx;
            dgAlocacoes2.DataBind();
            dgAlocacoes2.Visible = true;
            lblStatus.Visible    = false;
        }

        //if (pos < horarios.Count - 1) // se nao estivermos ja no ultimo horario...
        //    {
        // lblAtual.Text = "Horário atual: " + horarioAtual;//+" - "+nowTime.ToString();
        // lblProximo.Text = "Proximo horario: " + horarioProx;
        if (filtradaAtual.Count == 0 && filtradaProx.Count == 0)
        {
            lblStatus.Text      = "Não existem recursos alocados para hoje.";
            lblStatus.Visible   = true;
            dgAlocacoes.Visible = false;
        }
    }