Пример #1
0
    private bool jaOcorreu(IList <HorariosEvento> listaHorariosEvento)
    {
        ((List <HorariosEvento>)listaHorariosEvento).Sort();
        HorariosEvento ultimoHorario = listaHorariosEvento[listaHorariosEvento.Count - 1];

        if (ultimoHorario.Data.Date.CompareTo(DateTime.Now.Date) == 0)
        {
            DateTime data = BusinessData.Distribuicao.Entities.Horarios.ParseToDateTime(ultimoHorario.HorarioInicio);
            if (data.TimeOfDay.CompareTo(DateTime.Now.TimeOfDay) >= 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        else if (ultimoHorario.Data.Date.CompareTo(DateTime.Now.Date) > 0)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }
Пример #2
0
    protected void btnAdicionar_Click1(object sender, EventArgs e)
    {
        bool     jaCadastrado = false;
        DateTime dataAtual    = new DateTime();

        dataAtual = DateTime.Parse(txtDataFim.Text);
        Calendario cal = (Calendario)Session["Calendario"];

        HorariosEvento horarioEvento = HorariosEvento.NewHorariosEvento(dataAtual, null, ddlHoraInicio.SelectedItem.ToString(), ddlHoraFim.SelectedItem.ToString());

        listaHorarios = (IList <HorariosEvento>)Session["listaHorarios"];
        foreach (HorariosEvento horarios in listaHorarios)
        {
            if (horarioEvento.Equals(horarios) || jaAdicionado(dataAtual, ddlHoraInicio.SelectedItem.ToString(), ddlHoraFim.SelectedItem.ToString()))
            {
                lblResultado.Text = "Horário já adicionado!";
                jaCadastrado      = true;
                break;
            }
        }
        if (!jaCadastrado)
        {
            listaHorarios.Add(horarioEvento);
            ((List <HorariosEvento>)listaHorarios).Sort();
            Session["listaHorarios"] = listaHorarios;
            grdHorarios.DataSource   = listaHorarios;
            grdHorarios.DataBind();
            lblResultado.Text = "Horário adicionado.";
        }
    }
Пример #3
0
    protected void btnAdicionar_Click1(object sender, EventArgs e)
    {
        lblResultado.Text = "";
        bool jaCadastrado = false;

        if (txtDataFim.Text != "")
        {
            string   aux       = txtDataFim.Text;
            DateTime dataAtual = new DateTime();
            dataAtual = DateTime.Parse(aux);
            Calendario cal = (Calendario)Session["Calendario"];
            if (dataAtual.Year < cal.Ano ||
                dataAtual.Year > cal.Ano ||
                dataAtual.Month > cal.FimG2.Month ||
                dataAtual.Month < cal.InicioG1.Month)
            {
                lblResultado.Text = "A data não pertence ao intervalo do calendário selecionado.";
            }
            else
            {
                HorariosEvento horarioEvento = HorariosEvento.NewHorariosEvento(dataAtual, null, ddlHoraInicio.SelectedItem.ToString(), ddlHoraFim.SelectedItem.ToString());
                listaHorarios = (IList <HorariosEvento>)Session["listaHorarios"];
                foreach (HorariosEvento horarios in listaHorarios)
                {
                    if (horarioEvento.Equals(horarios) || jaAdicionado(dataAtual, ddlHoraInicio.SelectedItem.ToString(), ddlHoraFim.SelectedItem.ToString()))
                    {
                        lblResultado.Text = "Horário já adicionado!";
                        jaCadastrado      = true;
                        break;
                    }
                }
                if (!jaCadastrado)
                {
                    listaHorariosAdicionados = (List <HorariosEvento>)Session["listaHorariosAdicionados"];
                    listaHorariosAdicionados.Add(horarioEvento);
                    listaHorarios.Add(horarioEvento);
                    ((List <HorariosEvento>)listaHorarios).Sort();
                    Session["listaHorarios"]            = listaHorarios;
                    Session["listaHorariosAdicionados"] = listaHorariosAdicionados;
                    grdHorarios.DataSource = listaHorarios;
                    grdHorarios.DataBind();
                    lblResultado.Text = "Horário adicionado.";
                }
            }
        }
        else
        {
            lblResultado.Text = "Selecione uma data.";
        }
    }
Пример #4
0
        public List <HorariosEvento> GetHorariosEventosByIdDetalhados(Guid eventoId)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("HorariosEventosSelectById");
                baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, eventoId);

                List <HorariosEvento> listaAux = new List <HorariosEvento>();
                HorariosEvento        aux;

//            SqlDataReader sqlReader;
//           return listaAux;
                using (RefCountingDataReader leitor = ((RefCountingDataReader)baseDados.ExecuteReader(cmd)))
                {
                    EventoDAO eventoDAO = new EventoDAO();
                    Evento    evento;
                    while (leitor.Read())
                    {
                        if (((SqlDataReader)leitor.InnerReader).HasRows)
                        {
                            try
                            {
                                evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId")));
                            }
                            catch (InvalidOperationException)
                            {
                                evento = null;
                            }
                            aux = HorariosEvento.GetHorariosEvento(leitor.GetGuid(leitor.GetOrdinal("HorariosEventoId")),
                                                                   evento,
                                                                   leitor.GetDateTime(leitor.GetOrdinal("Data")),
                                                                   leitor.GetString(leitor.GetOrdinal("HorarioInicio")),
                                                                   leitor.GetString(leitor.GetOrdinal("HorarioFim")));
                            listaAux.Add(aux);
                        }
                    }
                }
                if (listaAux != null)
                {
                    List <HorariosEvento> listaFinal = new List <HorariosEvento>();
                    HorariosEvento        heAux      = null;
                    foreach (HorariosEvento he in listaAux)
                    {
                        // A princípio, este ajuste não é mais necessário
                        //if (he.HorarioInicio == "E ")
                        //    he.HorarioInicio = "EE";
                        //if (he.HorarioFim == "E ")
                        //    he.HorarioFim = "EE";
                        string[] lista = HorariosEvento.HorariosEntre(he.HorarioInicio, he.HorarioFim);
                        foreach (string s in lista)
                        {
                            heAux = (HorariosEvento)he.Clone();
                            heAux.HorarioInicio = s;
                            listaFinal.Add(heAux);
                        }
                    }
                    return(listaFinal);
                }
                else
                {
                    return(listaAux);
                }
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
Пример #5
0
    protected void btnOk_Click(object sender, EventArgs e)
    {
        try
        {
            //Montar o evento
            Calendario     cal            = (Calendario)Session["Calendario"];
            MembershipUser usr            = Membership.GetUser();
            PessoaFactory  fabricaPessoas = PessoaFactory.GetInstance();
            PessoaBase     pessoa         = fabricaPessoas.CreatePessoa((Guid)usr.ProviderUserKey);
            Evento         evento         = Evento.newEvento(pessoa, txtaDescricao.Text, cal, txtResponsavel.Text, txtTitulo.Text, txtUnidade.Text);

            DateTime       dataAtual;
            DateTime       dataFinal;
            HorariosEvento horariosEvento;
            int            index = RadioButtonList1.SelectedIndex;
            listaHorarios = (IList <HorariosEvento>)Session["listaHorarios"];
            switch (index)
            {
                #region cadastra evento diariamente
            case 0:
                //Montar o HorariosEvento
                dataAtual = new DateTime();
                dataAtual = DateTime.Parse(txtData.Text);
                dataFinal = new DateTime();
                dataFinal = DateTime.Parse(txtDataFinal.Text);

                //Valida datas
                if (dataAtual > dataFinal)
                {
                    lblResultado.Text = "Data final deve ser maior que a inicial!";
                }

                else
                {
                    //Insere Evento
                    eventoBO.InsereEvento(evento);

                    //Insere HorariosEvento
                    while (dataAtual <= dataFinal)
                    {
                        horariosEvento = HorariosEvento.NewHorariosEvento(dataAtual, evento, ddlInicio.Text, ddlFim.Text);
                        horariosEventoBO.InsereHorariosEvento(horariosEvento);
                        dataAtual = dataAtual.AddDays(1);
                    }

                    //Envia e-mail para a secretaria
                    dataAtual = DateTime.Parse(txtData.Text);
                    EnviarEmail(pessoa.Nome, evento.Descricao, dataAtual, dataFinal);
                    lblResultado.Text = "Evento cadastrado com sucesso.";
                    LimpaCampos();
                }
                break;
                #endregion

                #region cadastra evento nos dias escolhidos
            case 1:
                if ((seg.Checked == false) &&
                    (ter.Checked == false) &&
                    (qua.Checked == false) &&
                    (qui.Checked == false) &&
                    (sex.Checked == false) &&
                    (sab.Checked == false) &&
                    (dom.Checked == false))
                {
                    lblResultado.Text = "Selecione pelo menos um horário.";
                }
                else
                {
                    IList <HorariosEvento> horarios = new List <HorariosEvento>();

                    //Montar o HorariosEvento
                    dataAtual = new DateTime();
                    dataAtual = DateTime.Parse(txtData.Text);
                    dataFinal = new DateTime();
                    dataFinal = DateTime.Parse(txtDataFinal.Text);

                    //Valida datas
                    if (dataAtual > dataFinal)
                    {
                        lblResultado.Text = "Data final deve ser maior que a inicial!";
                    }

                    else
                    {
                        //Insere Evento
                        eventoBO.InsereEvento(evento);
                        //Insere HorariosEvento
                        while (dataAtual <= dataFinal)
                        {
                            if ((dataAtual.DayOfWeek == DayOfWeek.Monday && seg.Checked == true) ||
                                (dataAtual.DayOfWeek == DayOfWeek.Tuesday && ter.Checked == true) ||
                                (dataAtual.DayOfWeek == DayOfWeek.Wednesday && qua.Checked == true) ||
                                (dataAtual.DayOfWeek == DayOfWeek.Thursday && qui.Checked == true) ||
                                (dataAtual.DayOfWeek == DayOfWeek.Friday && sex.Checked == true) ||
                                (dataAtual.DayOfWeek == DayOfWeek.Saturday && sab.Checked == true) ||
                                (dataAtual.DayOfWeek == DayOfWeek.Sunday && dom.Checked == true))
                            {
                                horariosEvento = HorariosEvento.NewHorariosEvento(dataAtual, evento, ddlInicio.Text, ddlFim.Text);
                                horarios.Add(horariosEvento);
                                horariosEventoBO.InsereHorariosEvento(horariosEvento);
                            }
                            dataAtual = dataAtual.AddDays(1);
                        }
                        //Envia e-mail para a secretaria
                        if (horarios.Count < 2)
                        {
                            EnviarEmail(pessoa.Nome, evento.Descricao, horarios[0].Data);
                        }
                        else
                        {
                            EnviarEmail(pessoa.Nome, evento.Descricao, horarios[0].Data, horarios[horarios.Count - 1].Data);
                        }

                        lblResultado.Text = "Evento cadastrado com sucesso.";
                        LimpaCampos();
                    }
                }
                break;
                #endregion

                #region cadastra eventos nas datas escolhidas manualmente
            case 2:
                if (listaHorarios.Count != 0)
                {
                    //Insere Evento
                    eventoBO.InsereEvento(evento);

                    //Insere HorariosEvento
                    foreach (HorariosEvento horario in listaHorarios)
                    {
                        horario.EventoId = evento;
                        horariosEventoBO.InsereHorariosEvento(horario);
                    }

                    //Envia e-mail para a secretaria
                    if (listaHorarios.Count < 2)
                    {
                        EnviarEmail(pessoa.Nome, evento.Descricao, listaHorarios[0].Data);
                    }
                    else
                    {
                        EnviarEmail(pessoa.Nome, evento.Descricao, listaHorarios[0].Data, listaHorarios[listaHorarios.Count - 1].Data);
                    }
                    lblResultado.Text = "Evento cadastrado com sucesso.";
                    LimpaCampos();
                    listaHorarios = new List <HorariosEvento>();
                }
                else
                {
                    lblResultado.Text = "Nenhum horário escolhido para o evento.";
                }
                break;
                #endregion

                #region cadastra evento apenas em um dia
            default:
                dataAtual = new DateTime();
                dataAtual = DateTime.Parse(txtData.Text);

                //Insere Evento
                eventoBO.InsereEvento(evento);

                //Insere HorariosEvento
                horariosEvento = HorariosEvento.NewHorariosEvento(dataAtual, evento, ddlInicio.Text, ddlFim.Text);
                horariosEventoBO.InsereHorariosEvento(horariosEvento);

                //Envia E-Mail
                EnviarEmail(pessoa.Nome, evento.Descricao, dataAtual);
                lblResultado.Text = "Evento cadastrado com sucesso.";
                LimpaCampos();

                break;
                #endregion
            }
        }
        catch (Exception ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }