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); } }
/// <summary> /// Abre o pop-up para cadastro de período de agendamento /// </summary> /// <param name="dataInicio">Data de início de agendamento</param> /// <param name="dataFim">Data fim de agendamento</param> private void AbrirPopUp(string dataInicio, string dataFim) { try { txtDataInicio.Text = dataInicio; txtDataFim.Text = dataFim; ckbSelecionarTodosPeriodos.Checked = false; dtDadosRepeater = ACA_TipoCurriculoPeriodoBO.SelectByPesquisa(0, 0).AsEnumerable().Where(p => Convert.ToByte(p["tcp_situacao"]) != 3).CopyToDataTable(); var dtNivelEnsino = dtDadosRepeater.AsEnumerable().GroupBy(t => new { tne_id = Convert.ToInt32(t["tne_id"]), tme_id = Convert.ToInt32(t["tme_id"]), tne_nome = t["tne_nome"].ToString() + " - " + t["tme_nome"].ToString(), tne_nomeSimples = t["tne_nome"].ToString(), tne_ordem = Convert.ToInt32(t["tne_ordem"]) }).Select(t => t.Key).Where(t => dtDadosRepeater.AsEnumerable().Any(p => Convert.ToInt32(p["tne_id"]) == t.tne_id && Convert.ToInt32(p["tme_id"]) == t.tme_id)) .OrderBy(t => t.tne_ordem).ThenBy(t => t.tne_nome); rptNivelEnsino.DataSource = dtNivelEnsino; rptNivelEnsino.DataBind(); //Marca os períodos já selecionados no agendamento if (VS_sda_id > 0) { List <ACA_SondagemAgendamentoPeriodo> lstPeriodos = VS_ListaAgendamentoPeriodo.Where(p => p.sda_id == VS_sda_id).ToList(); foreach (RepeaterItem itemN in rptNivelEnsino.Items) { Repeater rptCampos = (Repeater)itemN.FindControl("rptCampos"); if (rptCampos != null) { foreach (RepeaterItem item in rptCampos.Items) { HiddenField hdnId = (HiddenField)item.FindControl("hdnId"); if (hdnId != null && !string.IsNullOrEmpty(hdnId.Value) && lstPeriodos.Any(p => p.tcp_id == Convert.ToInt32(hdnId.Value))) { CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo"); if (ckbCampo != null) { ckbCampo.Checked = true; } } } } } } txtDataInicio.Focus(); updPopUp.Update(); divEscola.Visible = false; lblTituloPopUp.Text = GetGlobalResourceObject("Academico", "Sondagem.Agendamento.lblTituloPopUp.Text").ToString(); btnAdicionar.Text = VS_sda_id > 0 && VS_sda_idRetificar <= 0 ? GetGlobalResourceObject("Academico", "Sondagem.Agendamento.bntAlterar.Text").ToString() : GetGlobalResourceObject("Academico", "Sondagem.Agendamento.bntAdicionar.Text").ToString(); if (VS_sda_idRetificar > 0) { divEscola.Visible = true; VS_sda_idRetificando = VS_sda_id; VS_sda_id = 0; lblTituloPopUp.Text = string.Format(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.lblPeriodoRetificar.Text").ToString(), dataInicio, dataFim); UCComboUAEscola.Inicializar(); if (UCComboUAEscola.VisibleUA) { UCComboUAEscola_IndexChangedUA(); } } else if (VS_sda_idRetificando > 0) { divEscola.Visible = true; string dataInicioR = VS_ListaAgendamento.Where(a => a.sda_id == VS_sda_idRetificando).First().sda_inicio; string dataFimR = VS_ListaAgendamento.Where(a => a.sda_id == VS_sda_idRetificando).First().sda_fim; lblTituloPopUp.Text = string.Format(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.lblPeriodoRetificar.Text").ToString(), dataInicioR, dataFimR); if (UCComboUAEscola.FiltroEscola) { ESC_Escola entEscola = new ESC_Escola { esc_id = VS_esc_id }; ESC_EscolaBO.GetEntity(entEscola); SYS_UnidadeAdministrativa entUA = new SYS_UnidadeAdministrativa { ent_id = entEscola.ent_id, uad_id = entEscola.uad_id }; SYS_UnidadeAdministrativaBO.GetEntity(entUA); Guid uad_idSuperior = entEscola.uad_idSuperiorGestao.Equals(Guid.Empty) ? entUA.uad_idSuperior : entEscola.uad_idSuperiorGestao; UCComboUAEscola.Uad_ID = uad_idSuperior; UCComboUAEscola.EnableEscolas = (UCComboUAEscola.Uad_ID != Guid.Empty); } if (UCComboUAEscola.Uad_ID != Guid.Empty) { UCComboUAEscola.CarregaEscolaPorUASuperiorSelecionada(); UCComboUAEscola.SelectedValueEscolas = new[] { Convert.ToInt32(VS_esc_id), Convert.ToInt32(VS_uni_id) }; } } ScriptManager.RegisterStartupScript(Page, typeof(Page), "EditarAulas", "$('#divInserir').dialog('open');", true); } 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(GetGlobalResourceObject("Academico", "Sondagem.Agendamento.ErroAbrirPopUp").ToString(), UtilBO.TipoMensagem.Erro); } }