/// <summary> /// Carrega dados da sondagem /// </summary> /// <param name="snd_id">ID da sondagem</param> public void _LoadFromEntity(int snd_id) { try { ACA_Sondagem snd = new ACA_Sondagem { snd_id = snd_id }; ACA_SondagemBO.GetEntity(snd); VS_snd_id = snd.snd_id; txtSondagem.Text = snd.snd_titulo; txtDescricao.Text = snd.snd_descricao; VS_ListaAgendamento = ACA_SondagemAgendamentoBO.SelectAgendamentosBy_Sondagem(snd_id); VS_ListaAgendamentoPeriodo = ACA_SondagemAgendamentoPeriodoBO.SelectPeriodosBy_Agendamento(VS_snd_id, 0); VS_ListaAgendamento = VS_ListaAgendamento.OrderByDescending(a => a.sda_dataInicio).ThenByDescending(a => a.sda_dataFim).ToList(); grvAgendamentos.DataSource = VS_ListaAgendamento; grvAgendamentos.DataBind(); UCComboUAEscola.Inicializar(); if (UCComboUAEscola.VisibleUA) { UCComboUAEscola_IndexChangedUA(); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "ScrollToTop", "setTimeout('window.scrollTo(0,0);', 0);", true); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.ErroCarregarSondagem").ToString(), UtilBO.TipoMensagem.Erro); } }
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); } }
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); } } }