示例#1
0
        protected void btnAdicionar_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime dataInicio = new DateTime();
                DateTime dataFim    = new DateTime();
                int      esc_id     = VS_sda_idRetificando > 0 ? UCComboUAEscola.Esc_ID : 0;
                int      uni_id     = VS_sda_idRetificando > 0 ? UCComboUAEscola.Uni_ID : 0;

                if (string.IsNullOrEmpty(txtDataInicio.Text) || !DateTime.TryParse(txtDataInicio.Text, out dataInicio))
                {
                    throw new ValidationException(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.DataInicioInvalida").ToString());
                }

                if (dataInicio < DateTime.Today)
                {
                    throw new ValidationException(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.DataInicioMenorHoje").ToString());
                }

                if (string.IsNullOrEmpty(txtDataFim.Text) || !DateTime.TryParse(txtDataFim.Text, out dataFim))
                {
                    throw new ValidationException(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.DataFimInvalida").ToString());
                }

                if (dataInicio > dataFim)
                {
                    throw new ValidationException(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.DataFimMenorInicio").ToString());
                }

                if (VS_ListaAgendamento.Any(a => a.sda_id != VS_sda_id && dataInicio <= a.sda_dataFim && dataFim >= a.sda_dataInicio &&
                                            ((a.esc_id == esc_id && a.uni_id == uni_id) || a.sda_id == VS_sda_idRetificando || a.sda_idRetificada == VS_sda_id)))
                {
                    throw new ValidationException(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.PeriodoJaAdicionado").ToString());
                }

                if (VS_sda_idRetificando > 0 && UCComboUAEscola.Esc_ID <= 0)
                {
                    throw new ValidationException(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.EscolaObrigatorio").ToString());
                }

                bool selecionado = false;

                foreach (RepeaterItem itemN in rptNivelEnsino.Items)
                {
                    Repeater rptCampos = (Repeater)itemN.FindControl("rptCampos");
                    if (rptCampos != null)
                    {
                        foreach (RepeaterItem item in rptCampos.Items)
                        {
                            CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo");
                            if (ckbCampo != null && ckbCampo.Checked)
                            {
                                HiddenField hdnId = (HiddenField)item.FindControl("hdnId");
                                if (hdnId != null)
                                {
                                    selecionado = true;
                                    break;
                                }
                            }
                        }
                    }
                    if (selecionado)
                    {
                        break;
                    }
                }

                if (!selecionado)
                {
                    throw new ValidationException(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.SemPeriodosSelecionados").ToString());
                }

                int sda_idAux = VS_sda_id;

                if (VS_sda_id > 0 && VS_ListaAgendamento.Any(a => a.sda_id == VS_sda_id))
                {
                    VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == VS_sda_id).First())].sda_dataInicio   = dataInicio;
                    VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == VS_sda_id).First())].sda_dataFim      = dataFim;
                    VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == VS_sda_id).First())].sda_inicio       = txtDataInicio.Text;
                    VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == VS_sda_id).First())].sda_fim          = txtDataFim.Text;
                    VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == VS_sda_id).First())].sda_idRetificada = VS_sda_idRetificando;
                    VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == VS_sda_id).First())].esc_id           = esc_id;
                    VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == VS_sda_id).First())].uni_id           = uni_id;

                    VS_ListaAgendamentoPeriodo.RemoveAll(p => p.sda_id == VS_sda_id);
                }
                else
                {
                    int sda_id = VS_ListaAgendamento.Any() ? VS_ListaAgendamento.Max(l => l.sda_id) + 1 : 1;
                    VS_ListaAgendamento.Add(new ACA_SondagemAgendamento
                    {
                        snd_id           = VS_snd_id,
                        sda_id           = sda_id,
                        sda_dataInicio   = dataInicio,
                        sda_dataFim      = dataFim,
                        sda_idRetificada = VS_sda_idRetificar,
                        esc_id           = esc_id,
                        uni_id           = uni_id,
                        sda_inicio       = txtDataInicio.Text,
                        sda_fim          = txtDataFim.Text,
                        sda_situacao     = (byte)ACA_SondagemAgendamentoSituacao.Ativo,
                        IsNew            = true
                    });

                    sda_idAux = sda_id;
                }

                foreach (RepeaterItem itemN in rptNivelEnsino.Items)
                {
                    string      tne_nome   = "";
                    HiddenField hdnTneNome = (HiddenField)itemN.FindControl("hdnTneNome");
                    if (hdnTneNome != null)
                    {
                        tne_nome = hdnTneNome.Value;
                    }

                    Repeater rptCampos = (Repeater)itemN.FindControl("rptCampos");
                    if (rptCampos != null)
                    {
                        foreach (RepeaterItem item in rptCampos.Items)
                        {
                            CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo");
                            if (ckbCampo != null && ckbCampo.Checked)
                            {
                                HiddenField hdnId = (HiddenField)item.FindControl("hdnId");
                                if (hdnId != null)
                                {
                                    int         tcp_ordem = 0;
                                    HiddenField hdnOrdem  = (HiddenField)item.FindControl("hdnOrdem");
                                    if (hdnOrdem != null)
                                    {
                                        tcp_ordem = Convert.ToInt32(hdnOrdem.Value);
                                    }

                                    int         tne_ordem   = 0;
                                    HiddenField hdnTneOrdem = (HiddenField)item.FindControl("hdnTneOrdem");
                                    if (hdnTneOrdem != null)
                                    {
                                        tne_ordem = Convert.ToInt32(hdnTneOrdem.Value);
                                    }

                                    VS_ListaAgendamentoPeriodo.Add(new ACA_SondagemAgendamentoPeriodo
                                    {
                                        snd_id        = VS_snd_id,
                                        sda_id        = sda_idAux,
                                        tcp_id        = Convert.ToInt32(hdnId.Value),
                                        tcp_descricao = tne_nome + " - " + ckbCampo.Text,
                                        tcp_ordem     = tcp_ordem,
                                        tne_ordem     = tne_ordem
                                    });
                                }
                            }
                        }
                    }
                }

                string periodos = VS_ListaAgendamentoPeriodo.Where(p => p.sda_id == sda_idAux).OrderBy(p => p.tne_ordem)
                                  .ThenBy(p => p.tcp_ordem).ThenBy(p => p.tcp_descricao)
                                  .Select(p => p.tcp_descricao).Aggregate((a, b) => a + ", " + b);
                VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(l => l.sda_id == sda_idAux).First())].periodos = periodos;
                VS_ListaAgendamento = VS_ListaAgendamento.OrderByDescending(a => a.sda_dataInicio).ThenByDescending(a => a.sda_dataFim).ToList();

                grvAgendamentos.DataSource = VS_ListaAgendamento;
                grvAgendamentos.DataBind();

                ScriptManager.RegisterStartupScript(Page, typeof(Page), "FecharPopUp", "$('#divInserir').dialog('close');", true);
            }
            catch (ValidationException ex)
            {
                ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('$(\\'#divInserir\\').scrollTo(0,0);', 0);", true);
                lblMessagePopUp.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('$(\\'#divInserir\\').scrollTo(0,0);', 0);", true);
                lblMessagePopUp.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.ErroAdicionar").ToString(), UtilBO.TipoMensagem.Erro);
            }
        }
示例#2
0
        protected void grvAgendamentos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Retificar")
            {
                try
                {
                    int index = int.Parse(e.CommandArgument.ToString());

                    int idRetificar = Convert.ToInt32(grvAgendamentos.DataKeys[index]["sda_id"]);

                    string dataInicio = grvAgendamentos.DataKeys[index]["sda_inicio"].ToString();
                    string dataFim    = grvAgendamentos.DataKeys[index]["sda_fim"].ToString();

                    VS_sda_idRetificar   = idRetificar;
                    VS_sda_id            = idRetificar;
                    VS_sda_idRetificando = 0;
                    AbrirPopUp(dataInicio, dataFim);
                }
                catch (ValidationException ex)
                {
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
                }
            }
            else if (e.CommandName == "Alterar")
            {
                try
                {
                    int index = int.Parse(e.CommandArgument.ToString());

                    int idAlterar = Convert.ToInt32(grvAgendamentos.DataKeys[index]["sda_id"]);

                    string dataInicio = grvAgendamentos.DataKeys[index]["sda_inicio"].ToString();
                    string dataFim    = grvAgendamentos.DataKeys[index]["sda_fim"].ToString();

                    VS_sda_id            = idAlterar;
                    VS_esc_id            = Convert.ToInt32(grvAgendamentos.DataKeys[index]["esc_id"]);
                    VS_uni_id            = Convert.ToInt32(grvAgendamentos.DataKeys[index]["uni_id"]);
                    VS_sda_idRetificando = Convert.ToInt32(grvAgendamentos.DataKeys[index]["sda_idRetificada"]);
                    VS_sda_idRetificar   = 0;
                    AbrirPopUp(dataInicio, dataFim);
                }
                catch (ValidationException ex)
                {
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
                }
            }
            else if (e.CommandName == "Cancelar")
            {
                try
                {
                    int index = int.Parse(e.CommandArgument.ToString());

                    int idCancelar = Convert.ToInt32(grvAgendamentos.DataKeys[index]["sda_id"]);

                    //Cancela as retificações do agendamento
                    foreach (ACA_SondagemAgendamento sda in VS_ListaAgendamento.Where(a => a.sda_idRetificada == idCancelar))
                    {
                        VS_ListaAgendamento[VS_ListaAgendamento.IndexOf(sda)].sda_situacao = (byte)ACA_SondagemAgendamentoSituacao.Cancelado;
                    }

                    int ind = VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(a => a.sda_id == idCancelar).First());

                    VS_ListaAgendamento[ind].sda_situacao = (byte)ACA_SondagemAgendamentoSituacao.Cancelado;

                    VS_ListaAgendamento = VS_ListaAgendamento.OrderByDescending(a => a.sda_dataInicio).ThenByDescending(a => a.sda_dataFim).ToList();

                    grvAgendamentos.DataSource = VS_ListaAgendamento;
                    grvAgendamentos.DataBind();
                }
                catch (ValidationException ex)
                {
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
                }
            }
            else if (e.CommandName == "Excluir")
            {
                try
                {
                    int index = int.Parse(e.CommandArgument.ToString());

                    int idExcluir = Convert.ToInt32(grvAgendamentos.DataKeys[index]["sda_id"]);

                    int ind = VS_ListaAgendamento.IndexOf(VS_ListaAgendamento.Where(a => a.sda_id == idExcluir).First());
                    VS_ListaAgendamento.RemoveAt(ind);
                    VS_ListaAgendamentoPeriodo.RemoveAll(p => p.sda_id == idExcluir);

                    //Exclui as retificações do agendamento
                    VS_ListaAgendamentoPeriodo.RemoveAll(p => VS_ListaAgendamento.Any(a => a.sda_idRetificada == idExcluir && a.sda_id == p.sda_id));
                    VS_ListaAgendamento.RemoveAll(a => a.sda_idRetificada == idExcluir);

                    VS_ListaAgendamento = VS_ListaAgendamento.OrderByDescending(a => a.sda_dataInicio).ThenByDescending(a => a.sda_dataFim).ToList();

                    grvAgendamentos.DataSource = VS_ListaAgendamento;
                    grvAgendamentos.DataBind();
                }
                catch (ValidationException ex)
                {
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true);
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
                }
            }
        }