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); } }
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."; } }
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."; } }
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); } }
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); } }