/// <summary> /// Carrega todos os tipos de período calendário não excluídos logicamente /// filtrando por calendário /// </summary> /// <param name="cal_id">ID do calendário</param> public void CarregarPorCalendario(int cal_id, bool adicionarRecesso = false) { sTipoPeriodoCalendario sTpc = new sTipoPeriodoCalendario(); ddlCombo.DataTextField = "cap_descricao"; List <sTipoPeriodoCalendario> dt = ACA_TipoPeriodoCalendarioBO.SelecionaTipoPeriodoCalendarioPorCalendario(cal_id, ApplicationWEB.AppMinutosCacheLongo); if (adicionarRecesso) { int tpc_id = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (tpc_id > 0) { ACA_TipoPeriodoCalendario tpc = new ACA_TipoPeriodoCalendario { tpc_id = tpc_id }; ACA_TipoPeriodoCalendarioBO.GetEntity(tpc); sTpc.tpc_id = tpc_id; sTpc.tpc_nome = sTpc.cap_descricao = tpc.tpc_nome; sTpc.tpc_cap_id = string.Format("{0};-1", tpc_id); dt.Add(sTpc); } } CarregarCombo(dt); CarregarPeriodoAtual(dt, SelecionaPeriodoAtualAoCarregar); if (sTpc.tpc_id > 0) { dt.Remove(sTpc); } }
private void Pesquisar() { var lstLimite = ACA_EventoLimiteBO.GetSelectByCalendario(VS_cal_id); var tblTipoEvento = ACA_TipoEventoBO.SelecionaTipoEvento(0, Guid.Empty); var lstTipoPeriodo = ACA_TipoPeriodoCalendarioBO.SelecionaTipoPeriodoCalendarioPorCalendario(VS_cal_id, ApplicationWEB.AppMinutosCacheLongo); int tpc_idRecesso = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); string tcp_nomeRecesso = string.Empty; if (tpc_idRecesso > 0) { ACA_TipoPeriodoCalendario tpc = new ACA_TipoPeriodoCalendario { tpc_id = tpc_idRecesso }; ACA_TipoPeriodoCalendarioBO.GetEntity(tpc); tcp_nomeRecesso = tpc.tpc_nome; } var source = lstLimite.Join(tblTipoEvento.Rows.Cast <DataRow>(), evl => evl.tev_id, tev => Convert.ToInt32(tev["tev_id"]), (evl, tev) => new sLimite() { tev_nome = tev["tev_nome"].ToString(), tpc_nome = (evl.tpc_id > 0 ? (evl.tpc_id == tpc_idRecesso ? tcp_nomeRecesso : lstTipoPeriodo.First(tpc => tpc.tpc_id == evl.tpc_id).tpc_nome) : string.Empty), tev_id = evl.tev_id, evl_id = evl.evl_id, evl = evl }) .GroupBy(evl => string.Format("{0}{1}{2}", evl.tev_nome, (string.IsNullOrEmpty(evl.tpc_nome) ? string.Empty : " - "), evl.tpc_nome)) .Select(grp => new { TipoEventoBimestre = grp.Key, Limites = grp.ToList() }) .OrderBy(grp => grp.TipoEventoBimestre); rptLimitesCalendario.DataSource = source; rptLimitesCalendario.DataBind(); }
/// <summary> /// Carrega os dados de tipo de período calendáro /// </summary> /// <param name="tne_id">Id de tipo de período calendário</param> private void _LoadFromEntity(int tpc_id) { try { ACA_TipoPeriodoCalendario tipoPeriodoCalendario = new ACA_TipoPeriodoCalendario { tpc_id = tpc_id }; ACA_TipoPeriodoCalendarioBO.GetEntity(tipoPeriodoCalendario); _VS_tpc_id = tipoPeriodoCalendario.tpc_id; _VS_tpc_ordem = tipoPeriodoCalendario.tpc_ordem; _txtTipoPeriodoCalendario.Text = tipoPeriodoCalendario.tpc_nome; _txtTipoPeriodoCalendarioAbreviado.Text = tipoPeriodoCalendario.tpc_nomeAbreviado; _ckbForaPeriodoLetivo.Checked = tipoPeriodoCalendario.tpc_foraPeriodoLetivo; _ckbBloqueado.Checked = !tipoPeriodoCalendario.tpc_situacao.Equals(1); _ckbBloqueado.Visible = true; _ckbForaPeriodoLetivo.Enabled = !GestaoEscolarUtilBO.VerificarIntegridade("tpc_id", _VS_tpc_id.ToString(), "ACA_TipoPeriodoCalendario,REL_AlunosSituacaoFechamento", null); } catch (Exception e) { ApplicationWEB._GravaErro(e); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o tipo de período do calendário.", UtilBO.TipoMensagem.Erro); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Int64 alu_id = __SessionWEB.__UsuarioWEB.alu_id; // somente terá acesso se o flag exibirBoletim do cadastro de "Tipo de ciclo" estiver marcado if (!ACA_TipoCicloBO.VerificaSeExibeCompromissoAluno(alu_id)) { lblMensagem.Text = UtilBO.GetErroMessage("Este usuário não tem permissão de acesso a esta página.", UtilBO.TipoMensagem.Alerta); fdsCompromissoEstudo.Visible = false; btnSalvar.Visible = false; return; } // Carrega combo Bimestre string tipo = ((byte)AvaliacaoTipo.Periodica).ToString() + "," + ((byte)AvaliacaoTipo.PeriodicaFinal).ToString(); string parametroPeriodo = GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id); DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id); UCComboTipoPeriodoCalendario1.CarregarTipoPeriodoCalendario(Convert.ToInt64(dtCurriculo.Rows[0]["tur_id"])); UCComboTipoPeriodoCalendario1._Validator.ValidationGroup = "CompromissoEstudo"; UCComboTipoPeriodoCalendario1._Validator.Visible = true; UCComboTipoPeriodoCalendario1._Label.Text = parametroPeriodo + " *"; VS_Tur_Id = Convert.ToInt64(dtCurriculo.Rows[0]["tur_id"]); VS_Cal_Id = Convert.ToInt32(dtCurriculo.Rows[0]["cal_id"]); VS_Cpe_Ano = VSAnoLetivo; // Carrega dados para alteração do registro if ((PreviousPage != null) && PreviousPage.IsCrossPagePostBack) { VS_Cpe_Id = PreviousPage.EditItem; ACA_CompromissoEstudo compromisso = new ACA_CompromissoEstudo { alu_id = alu_id, cpe_id = VS_Cpe_Id }; ACA_CompromissoEstudoBO.GetEntity(compromisso); txtOqTenhoFeito.Text = compromisso.cpe_atividadeFeita; txtOqPretendoFazer.Text = compromisso.cpe_atividadePretendeFazer; // Seleciona o bimestre ListItem itemBimestre = UCComboTipoPeriodoCalendario1._Combo.Items.FindByValue(compromisso.tpc_id.ToString()); if (itemBimestre != null) { UCComboTipoPeriodoCalendario1._Combo.SelectedValue = itemBimestre.Value; UCComboTipoPeriodoCalendario1._Combo.Enabled = false; } else { ACA_TipoPeriodoCalendario tpc = ACA_TipoPeriodoCalendarioBO.GetEntity(new ACA_TipoPeriodoCalendario { tpc_id = compromisso.tpc_id }); itemBimestre = new ListItem(tpc.tpc_nome, tpc.tpc_id.ToString()); UCComboTipoPeriodoCalendario1._Combo.Items.Add(itemBimestre); UCComboTipoPeriodoCalendario1._Combo.SelectedValue = itemBimestre.Value; UCComboTipoPeriodoCalendario1._Combo.Enabled = false; } } } UCConfirmacaoOperacao1.ConfimaOperacao += UCConfirmacaoOperacao1_ConfimaOperacao; }
protected void _dgvTipoPeriodoCalendario_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Deletar") { try { int index = int.Parse(e.CommandArgument.ToString()); int tpc_id = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index].Value.ToString()); ACA_TipoPeriodoCalendario entity = new ACA_TipoPeriodoCalendario { tpc_id = tpc_id }; ACA_TipoPeriodoCalendarioBO.GetEntity(entity); if (ACA_TipoPeriodoCalendarioBO.Delete(entity)) { if (_dgvTipoPeriodoCalendario.Rows.Count > 0) { ((ImageButton)_dgvTipoPeriodoCalendario.Rows[0].FindControl("_btnSubir")).Style.Add("visibility", "hidden"); ((ImageButton)_dgvTipoPeriodoCalendario.Rows[_dgvTipoPeriodoCalendario.Rows.Count - 1].FindControl("_btnDescer")).Style.Add("visibility", "hidden"); } ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "tpc_id: " + tpc_id); _lblMessage.Text = UtilBO.GetErroMessage("Tipo de período do calendário excluído com sucesso.", UtilBO.TipoMensagem.Sucesso); _dgvTipoPeriodoCalendario.PageIndex = 0; _dgvTipoPeriodoCalendario.DataBind(); if (_dgvTipoPeriodoCalendario.Rows.Count > 0) { ((ImageButton)_dgvTipoPeriodoCalendario.Rows[0].FindControl("_btnSubir")).Style.Add("visibility", "hidden"); ((ImageButton)_dgvTipoPeriodoCalendario.Rows[_dgvTipoPeriodoCalendario.Rows.Count - 1].FindControl("_btnDescer")).Style.Add("visibility", "hidden"); } } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o tipo período do calendário.", UtilBO.TipoMensagem.Erro); } } catch (ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o tipo de período do calendário.", UtilBO.TipoMensagem.Erro); } } if (e.CommandName == "Subir") { try { int index = int.Parse(e.CommandArgument.ToString()); int tpc_idDescer = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index - 1]["tpc_id"]); int tpc_ordemDescer = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index]["tpc_ordem"]); ACA_TipoPeriodoCalendario entityDescer = new ACA_TipoPeriodoCalendario { tpc_id = tpc_idDescer }; ACA_TipoPeriodoCalendarioBO.GetEntity(entityDescer); entityDescer.tpc_ordem = tpc_ordemDescer; int tes_idSubir = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index]["tpc_id"]); int tes_ordemSubir = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index - 1]["tpc_ordem"]); ACA_TipoPeriodoCalendario entitySubir = new ACA_TipoPeriodoCalendario { tpc_id = tes_idSubir }; ACA_TipoPeriodoCalendarioBO.GetEntity(entitySubir); entitySubir.tpc_ordem = tes_ordemSubir; if (ACA_TipoPeriodoCalendarioBO.SaveOrdem(entityDescer, entitySubir)) { odsTipoPeriodoCalendario.DataBind(); _dgvTipoPeriodoCalendario.PageIndex = 0; _dgvTipoPeriodoCalendario.DataBind(); if (_dgvTipoPeriodoCalendario.Rows.Count > 0) { ((ImageButton)_dgvTipoPeriodoCalendario.Rows[0].Cells[2].FindControl("_btnSubir")).Style.Add("visibility", "hidden"); ((ImageButton)_dgvTipoPeriodoCalendario.Rows[_dgvTipoPeriodoCalendario.Rows.Count - 1].FindControl("_btnDescer")).Style.Add("visibility", "hidden"); } } ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "tes_id: " + tes_idSubir); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "tes_id: " + tpc_idDescer); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro); } } if (e.CommandName == "Descer") { try { int index = int.Parse(e.CommandArgument.ToString()); int tpc_idDescer = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index]["tpc_id"]); int tpc_ordemDescer = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index + 1]["tpc_ordem"]); ACA_TipoPeriodoCalendario entityDescer = new ACA_TipoPeriodoCalendario { tpc_id = tpc_idDescer }; ACA_TipoPeriodoCalendarioBO.GetEntity(entityDescer); entityDescer.tpc_ordem = tpc_ordemDescer; int tes_idSubir = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index + 1]["tpc_id"]); int tes_ordemSubir = Convert.ToInt32(_dgvTipoPeriodoCalendario.DataKeys[index]["tpc_ordem"]); ACA_TipoPeriodoCalendario entitySubir = new ACA_TipoPeriodoCalendario { tpc_id = tes_idSubir }; ACA_TipoPeriodoCalendarioBO.GetEntity(entitySubir); entitySubir.tpc_ordem = tes_ordemSubir; if (ACA_TipoPeriodoCalendarioBO.SaveOrdem(entityDescer, entitySubir)) { odsTipoPeriodoCalendario.DataBind(); _dgvTipoPeriodoCalendario.PageIndex = 0; _dgvTipoPeriodoCalendario.DataBind(); if (_dgvTipoPeriodoCalendario.Rows.Count > 0) { ((ImageButton)_dgvTipoPeriodoCalendario.Rows[0].Cells[2].FindControl("_btnSubir")).Style.Add("visibility", "hidden"); ((ImageButton)_dgvTipoPeriodoCalendario.Rows[_dgvTipoPeriodoCalendario.Rows.Count - 1].FindControl("_btnDescer")).Style.Add("visibility", "hidden"); } } ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "tes_id: " + tes_idSubir); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "tes_id: " + tpc_idDescer); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Valida os campos do grid /// </summary> /// <returns>0 - deu certo / 1 - deu errado / 2 - Se tiver apenas /// uma linha com dados vazios (grava como se não houvessem dados) </returns> private int ValidaCampos() { bool flag = true //Flag final - é true apenas se todas as outras flags de verificação são true , DescVazia = true //Verifica se ja foi mostrada mensagem de validação "Descrição é obrigatória." , TipoVazio = true //Verifica se ja foi mostrada mensagem de validação "Tipo de período é obrigatório." , DataIVazia = true //Verifica se ja foi mostrada mensagem de validação "Data de início é obrigatória." , DataFVazia = true; //Verifica se ja foi mostrada mensagem de validação "Data de fim é obrigatória." DateTime InicioAno = Convert.ToDateTime(_txtDataInicio.Text) , FimAno = Convert.ToDateTime(_txtDataFim.Text); List <ACA_CalendarioPeriodo> list = listCalendarioPeriodo(); //Arrays que armazenam os valores que já passaram pela verificação de igualdade ArrayList tipoIgual = new ArrayList(); ArrayList descricaoIgual = new ArrayList(); //Verifica se existe apenas uma linha com dados em branco if (list.Count == 1 && (string.IsNullOrEmpty(list[0].cap_descricao) && list[0].tpc_id == -1 && list[0].cap_dataInicio == new DateTime() && list[0].cap_dataFim == new DateTime())) { return(2); } else { //Percorre o grid verificando se existem erros foreach (GridViewRow row in _dgvCalendarioPeriodo.Rows) { bool flagFim = true //Flag de verificação de erros na data de fim , flagInicio = true //Flag de verificação de erros na data de início , flagPeriodo = true //Flag de verificação de erros no tipo do período , flagDesc = true; //Flag de verificação de erros na descrição string descricao = ((TextBox)row.FindControl("txtDescricao")).Text; string dataI = ((TextBox)row.FindControl("txtInicioPeriodo")).Text , dataF = ((TextBox)row.FindControl("txtFimPeriodo")).Text; CustomValidator cvInicio = (CustomValidator)row.FindControl("cvDataInicio") , cvFim = (CustomValidator)row.FindControl("cvDataFim") , cvTipoPeriodo = (CustomValidator)row.FindControl("cvTipoPeriodo") , cvDescricao = (CustomValidator)row.FindControl("cvDescricao"); int tpc_id = Convert.ToInt32(((DropDownList)row.FindControl("ddlTipoPeriodo")).SelectedValue); ACA_TipoPeriodoCalendario tpc = new ACA_TipoPeriodoCalendario { tpc_id = tpc_id }; ACA_TipoPeriodoCalendarioBO.GetEntity(tpc); #region Valida Campo Vazio if (string.IsNullOrEmpty(descricao)) { //Verifica se a mensagem ja foi mostrada if (DescVazia) { cvDescricao.ErrorMessage = "Descrição é obrigatória."; DescVazia = false; } cvDescricao.IsValid = false; flagDesc = false; } if (tpc_id == -1) { //Verifica se a mensagem já foi mostrada if (TipoVazio) { cvTipoPeriodo.ErrorMessage = "Tipo de período é obrigatório."; TipoVazio = false; } cvTipoPeriodo.IsValid = false; flagPeriodo = false; } if (string.IsNullOrEmpty(dataI)) { //Verifica se a mensagem já foi mostrada if (DataIVazia) { cvInicio.ErrorMessage = "Data de início é obrigatória."; DataIVazia = false; } cvInicio.IsValid = false; flagInicio = false; } if (string.IsNullOrEmpty(dataF)) { //Verifica se a mensagem já foi mostrada if (DataFVazia) { cvFim.ErrorMessage = "Data de fim é obrigatória."; DataFVazia = false; } cvFim.IsValid = false; flagFim = false; } #endregion #region Valida Campos Iguais //Se o campo TipoPeriodo não estiver vazio valiada se existem dois ou mais períodos com o mesmo tpc_id if (flagPeriodo && list.FindAll(p => p.tpc_id == tpc_id).Count > 1) { //Verifica se a mensagem já foi mostrada para um campo com este mesmo tpc_id if (tipoIgual.IndexOf(tpc_id) < 0) { //Adiciona o tpc_id ao array dos tipos que ja mostraram mensagem tipoIgual.Add(tpc_id); cvTipoPeriodo.ErrorMessage = "Existem dois ou mais períodos cadastrados com o tipo de período: " + tpc.tpc_nome + "."; } cvTipoPeriodo.IsValid = false; flagPeriodo = false; } //Se o campo Descrição não estiver vazio valiada se existem dois ou mais períodos com a mesma descrição if (flagDesc && list.FindAll(p => p.cap_descricao == descricao).Count > 1) { //Verifica se a mensagem já foi mostrada para um campo com esta mesma descrição if (descricaoIgual.IndexOf(descricao) < 0) { //Adiciona a descrição ao array das descrições que ja mostraram mensagem descricaoIgual.Add(descricao); cvDescricao.ErrorMessage = "Existem dois ou mais períodos cadastrados com a descrição: " + descricao + "."; } cvDescricao.IsValid = false; flagDesc = false; } #endregion #region Valida Datas //Verifica se os campos de datas não estão vazios if (flagInicio && flagFim) { DateTime dataInicio = Convert.ToDateTime(dataI) , dataFim = Convert.ToDateTime(dataF); //Valida se a data de início está dentro do intervalo permitido if (dataInicio < InicioAno || dataInicio > FimAno) { cvInicio.ErrorMessage = "Data de início do período " + descricao + " deve estar entre " + InicioAno.ToShortDateString() + " - " + FimAno.ToShortDateString() + "."; cvInicio.IsValid = false; flagInicio = false; } //Valida se a data de fim está dentro do intervalo permitido if (dataFim < InicioAno || dataFim > FimAno) { cvFim.ErrorMessage = "Data de fim do período " + descricao + " deve estar entre " + InicioAno.ToShortDateString() + " - " + FimAno.ToShortDateString() + "."; cvFim.IsValid = false; flagFim = false; } //Se as datas ainda não foram validadas, valida se ela é maior que a data de início if (flagFim && flagInicio && dataFim <= dataInicio) { cvFim.ErrorMessage = "Data de fim do período " + descricao + " deve ser maior que a data de início."; cvFim.IsValid = false; flagFim = false; } } #endregion if (flag) { flag = flagFim && flagInicio && flagPeriodo && flagDesc; } } } return(flag ? 0 : 1); }