protected void _dgvCalendarioAnual_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Deletar") { try { int index = int.Parse(e.CommandArgument.ToString()); int cal_id = Convert.ToInt32(_dgvCalendarioAnual.DataKeys[index].Value); ACA_CalendarioAnual entity = new ACA_CalendarioAnual { cal_id = cal_id }; ACA_CalendarioAnualBO.GetEntity(entity); if (ACA_CalendarioAnualBO.Delete(entity)) { _dgvCalendarioAnual.PageIndex = 0; _dgvCalendarioAnual.DataBind(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "cal_id: " + cal_id); _lblMessage.Text = UtilBO.GetErroMessage("Calendário escolar excluído com sucesso.", UtilBO.TipoMensagem.Sucesso); } } 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 calendário escolar.", UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Retorna a data de início e fim do período do calendário do tipo informado /// (quando informado o tpc_id). /// Quando não informado o tpc_id, retorna o primeiro período de acordo /// com as avaliações relacionadas. /// </summary> /// <param name="tpc_id">ID do tipo de período do calendário</param> /// <param name="avaliacaoesRelacionadas">IDs das avaliações relacionadas (separadas por ",")</param> /// <param name="tur_id">ID da turma</param> /// <param name="fav_id">ID do formato de avaliação</param> /// <param name="avaliacaoTipo">Tipo da avaliação</param> /// <param name="cal_id">ID do calendário</param> /// <param name="cap_dataInicio">Data de início do período</param> /// <param name="cap_dataFim">Data de fim do período</param> /// <returns></returns> public static void RetornaDatasPeriodoPor_FormatoAvaliacaoTurma ( int tpc_id , string avaliacaoesRelacionadas , long tur_id , int fav_id , AvaliacaoTipo avaliacaoTipo , int cal_id , out DateTime cap_dataInicio , out DateTime cap_dataFim ) { // Se for avaliação final, retorna a data de inicio e fim do calendário if (avaliacaoTipo == AvaliacaoTipo.Final || avaliacaoTipo == AvaliacaoTipo.ConselhoClasse) { ACA_CalendarioAnual cal = new ACA_CalendarioAnual { cal_id = cal_id }; ACA_CalendarioAnualBO.GetEntity(cal); cap_dataInicio = cal.cal_dataInicio; cap_dataFim = cal.cal_dataFim; } // Se não for avaliação final, retorna a data de inicio e fim do periodo do calendario else { RetornaDatasPeriodoPor_FormatoAvaliacaoTurma(tpc_id, avaliacaoesRelacionadas, tur_id, fav_id, out cap_dataInicio, out cap_dataFim); } }
/// <summary> /// Carrega o calendario selecionado nos campos da tela. /// </summary> /// <param name="cal_id">The cal_id.</param> private void _LoadFromEntity(int cal_id) { try { ACA_CalendarioAnual _calendarioAnual = new ACA_CalendarioAnual { cal_id = cal_id }; ACA_CalendarioAnualBO.GetEntity(_calendarioAnual); if (_calendarioAnual.ent_id != __SessionWEB.__UsuarioWEB.Usuario.ent_id) { __SessionWEB.PostMessages = UtilBO.GetErroMessage("O calendário não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta); Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } _VS_cal_id = _calendarioAnual.cal_id; _txtAno.Text = Convert.ToString(_calendarioAnual.cal_ano); _txtAno.Enabled = false; _txtDescricao.Text = _calendarioAnual.cal_descricao; _txtDataInicio.Text = _calendarioAnual.cal_dataInicio.ToString("dd/MM/yyyy"); _txtDataFim.Text = _calendarioAnual.cal_dataFim.ToString("dd/MM/yyyy"); ckbPermiteRecesso.Checked = _calendarioAnual.cal_permiteLancamentoRecesso; CarregaPeriodo(); _dgvCalendarioPeriodo.Columns[posExcluirAdicionarPeriodo].Visible = !(ACA_CalendarioAnualBO.VerificaTurmaPejaExistente(_VS_cal_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id)); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o calendário escolar.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Carrega os dados da pagina. /// </summary> private void CarregarDados() { long alu_id = __SessionWEB.__UsuarioWEB.alu_id; int mtu_id = __SessionWEB.__UsuarioWEB.mtu_id; int esc_id = __SessionWEB.__UsuarioWEB.esc_id; _VS_cal_id = ACA_CalendarioEscolaBO.SelectCalendarioByAluIdMtuIdEscId(alu_id, mtu_id, esc_id); if (_VS_cal_id > 0) { ACA_CalendarioAnual calendario = new ACA_CalendarioAnual { cal_id = _VS_cal_id }; ACA_CalendarioAnualBO.GetEntity(calendario); CalendarioAnual = calendario; // busca os periodos referentes ao calendário Periodos = ACA_CalendarioPeriodoBO.Seleciona_cal_id(CalendarioAnual.cal_id, false, 1, 1); // busca os dias não úteis DiasNaoUteis = SYS_DiaNaoUtilBO.SelecionaTodosPorCidade(CarregarCidadeUsuarioLogado()); // mostra o nome da calendário lblCalendario.Text = "Calendário escolar: <b>" + CalendarioAnual.cal_descricao + "</b>"; // mostra o ano letivo lblAnoLetivo.Text = "Ano Letivo: <b>" + CalendarioAnual.cal_ano + "</b>"; Eventos = ACA_CalendarioEventoBO.BuscaEventosCalendario( CalendarioAnual.cal_id, false, esc_id ); IniciaRepeater(); IniciaRepeaterDiasLetivos(); CriaTabelaLegenda(); // mostra a quantidade de dias letivos no ano int totalDeDiasLetivos = NumeroDeDiasUteis(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim); //- NumeroDeDiasSemAtividadeDiscente(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim); lblDiasLetivosNoAno.Text = "Dias letivos do ano: <b>" + totalDeDiasLetivos + "</b>"; } else { _lblMessage.Text = UtilBO.GetErroMessage("Calendário não encontrado.", UtilBO.TipoMensagem.Alerta); } }
/// <summary> /// Carrega os dados da pagina. /// </summary> private void CarregarDados() { ACA_CalendarioAnual calendario = new ACA_CalendarioAnual { cal_id = _VS_cal_id }; ACA_CalendarioAnualBO.GetEntity(calendario); CalendarioAnual = calendario; // busca os periodos referentes ao calendário Periodos = ACA_CalendarioPeriodoBO.Seleciona_cal_id(CalendarioAnual.cal_id, false, 1, 1); // busca os dias não úteis DiasNaoUteis = SYS_DiaNaoUtilBO.SelecionaTodosPorCidade(CarregarCidadeUsuarioLogado()); // mostra o nome da calendário lblCalendario.Text = "Calendário escolar: <b>" + CalendarioAnual.cal_descricao + "</b>"; // mostra o ano letivo lblAnoLetivo.Text = "Ano Letivo: <b>" + CalendarioAnual.cal_ano + "</b>"; if (ddlComboTipoEvento.SelectedValue.Equals("2") && ucComboUAEscola.Esc_ID <= 0) { fdsVisualizacao.Visible = false; return; } Eventos = ACA_CalendarioEventoBO.BuscaEventosCalendario( CalendarioAnual.cal_id, ddlComboTipoEvento.SelectedValue.Equals("0"), ddlComboTipoEvento.SelectedValue.Equals("2") ? ucComboUAEscola.Esc_ID : 0 ); IniciaRepeater(); IniciaRepeaterDiasLetivos(); CriaTabelaLegenda(); fdsVisualizacao.Visible = true; // mostra a quantidade de dias letivos no ano int totalDeDiasLetivos = NumeroDeDiasUteis(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim); //- NumeroDeDiasSemAtividadeDiscente(CalendarioAnual.cal_dataInicio, CalendarioAnual.cal_dataFim); lblDiasLetivosNoAno.Text = "Dias letivos do ano: <b>" + totalDeDiasLetivos + "</b>"; }
protected void Page_Load(object sender, EventArgs e) { ScriptManager sm = ScriptManager.GetCurrent(this); if (sm != null) { sm.Scripts.Add(new ScriptReference(ArquivoJS.JQueryValidation)); sm.Scripts.Add(new ScriptReference(ArquivoJS.JqueryMask)); sm.Scripts.Add(new ScriptReference(ArquivoJS.MascarasCampos)); sm.Scripts.Add(new ScriptReference(ArquivoJS.CamposData)); sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmExclusao)); sm.Scripts.Add(new ScriptReference("~/Includes/jsCadastroEventoLimite.js")); } if (!IsPostBack) { cpvDataInicio.ValueToCompare = DateTime.Now.ToString("dd/MM/yyyy"); if (PreviousPage != null && PreviousPage.IsCrossPagePostBack) { VS_cal_id = PreviousPage.SelectedItem; var entityCalendario = new ACA_CalendarioAnual() { cal_id = VS_cal_id }; ACA_CalendarioAnualBO.GetEntity(entityCalendario); lblCalendarioAno.Text = string.Format("{0} (Ano {1})", entityCalendario.cal_descricao, entityCalendario.cal_ano); UCCTipoEvento.CarregarLiberacao(); UCCPeriodoCalendario.CarregarPorCalendario(VS_cal_id, entityCalendario.cal_permiteLancamentoRecesso); UCComboUAEscola.Inicializar(); //btnSalvar.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_inserir; Pesquisar(); } else { __SessionWEB.PostMessages = UtilBO.GetErroMessage("Selecione um calendário para definir os limites para data de criação de eventos.", UtilBO.TipoMensagem.Alerta); Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } } }
/// <summary> /// Cria lista de entidades de CalendarioCurso de acordo com os calendários selecionados /// </summary> private void CriarListaCalendarioEvento() { _VS_Calendario = null; DataTable dtTemp = _VS_Calendario; foreach (RepeaterItem item in rptCampos.Items) { CheckBox ckbCampo = (CheckBox)item.FindControl("ckbCampo"); if (ckbCampo != null && ckbCampo.Checked) { HiddenField hdnId = (HiddenField)item.FindControl("hdnId"); DataRow dr = dtTemp.NewRow(); ACA_CalendarioAnual calendario = new ACA_CalendarioAnual { cal_id = Convert.ToInt32(hdnId.Value) }; ACA_CalendarioAnualBO.GetEntity(calendario); dr["cal_id"] = calendario.cal_id; dr["cal_id_novo"] = calendario.cal_id; dr["cal_descricao"] = calendario.cal_descricao; dr["cal_ano"] = calendario.cal_ano; if (calendario.cal_dataFim.Equals(null)) { dr["cap_periodo"] = calendario.cal_dataInicio.ToString("dd/MM/yyyy"); } else { dr["cal_periodo"] = calendario.cal_dataInicio.ToString("dd/MM/yyyy") + " - " + calendario.cal_dataFim.ToString("dd/MM/yyyy"); } dtTemp.Rows.Add(dr); } } _VS_Calendario = dtTemp; }
/// <summary> /// Retorna nas 2 variáveis se a movimentação está no período válido, para o curso e ano letivo /// informados (através da matrícula do aluno). /// </summary> /// <param name="tur_id">ID da turma</param> /// <param name="cur_id">ID do curso</param> /// <param name="crr_id">ID do curriculo do curso</param> /// <param name="tmo_id">ID do tipo de movimentação</param> /// <param name="dataComparar">Data para comparação do momento</param> /// <param name="bancoGestao">Transação com banco - obrigatório</param> /// <param name="estaInicioMovimentacao">OUT - retorna se está no período de início de movimentação</param> /// <param name="estaFechamentoMovimentacao">OUT - retorna se está no período de fechamento de movimentação</param> /// <param name="listasFechamentoMatricula">Listas carregadas com dados do fechamento de matrícula</param> public static void VerificaPeriodoValidoMovimentacao ( long tur_id , int cur_id , int crr_id , int tmo_id , DateTime dataComparar , TalkDBTransaction bancoGestao , out bool estaInicioMovimentacao , out bool estaFechamentoMovimentacao , FormacaoTurmaBO.ListasFechamentoMatricula listasFechamentoMatricula = null ) { TUR_Turma entTur = null; if (listasFechamentoMatricula != null && listasFechamentoMatricula.listTurma != null) { // Busca a entidade da lista de fechamento de matrícula. entTur = listasFechamentoMatricula.listTurma.Find(p => p.tur_id == tur_id); } if (entTur == null) { entTur = new TUR_Turma { tur_id = tur_id }; TUR_TurmaBO.GetEntity(entTur, bancoGestao); } ACA_CalendarioAnual entCalendario = null; if (listasFechamentoMatricula != null && listasFechamentoMatricula.listCalendarios != null) { // Busca a entidade da lista de fechamento de matrícula. entCalendario = listasFechamentoMatricula.listCalendarios.Find(p => p.cal_id == entTur.cal_id); } if (entCalendario == null) { entCalendario = new ACA_CalendarioAnual { cal_id = entTur.cal_id }; ACA_CalendarioAnualBO.GetEntity(entCalendario, bancoGestao); } int mom_ano = entCalendario.cal_ano; MTR_TipoMovimentacaoDAO dao = new MTR_TipoMovimentacaoDAO { _Banco = bancoGestao }; DataTable dt = dao.SelectBy_PeriodoValido_Curso(cur_id, crr_id, tmo_id, mom_ano, dataComparar); if (dt.Rows.Count > 0) { if (!String.IsNullOrEmpty(dt.Rows[0]["IsPeriodoInicioProcesso"].ToString())) { estaInicioMovimentacao = Convert.ToBoolean(dt.Rows[0]["IsPeriodoInicioProcesso"]); } else { estaInicioMovimentacao = false; } if (!String.IsNullOrEmpty(dt.Rows[0]["IsPeriodoFimProcesso"].ToString())) { estaFechamentoMovimentacao = Convert.ToBoolean(dt.Rows[0]["IsPeriodoFimProcesso"]); } else { estaFechamentoMovimentacao = false; } } else { estaInicioMovimentacao = false; estaFechamentoMovimentacao = false; } }
private void UCComboTurmaDisciplina_IndexChanged() { try { UCCPeriodoCalendario.Valor = new[] { -1, -1 }; UCCPeriodoCalendario.PermiteEditar = false; // utilizado para evitar chamar o evento de alteracao do calendario periodo duas vezes seguidas. bool selecionouComboPeriodos = false; if (UCCTurmaDisciplina1.Valor > -1) { long tur_id = Convert.ToInt64(ddlTurma.SelectedValue); TUR_Turma entTurma = new TUR_Turma { tur_id = tur_id }; TUR_TurmaBO.GetEntity(entTurma); ACA_CalendarioAnual entCalendario = new ACA_CalendarioAnual { cal_id = entTurma.cal_id }; ACA_CalendarioAnualBO.GetEntity(entCalendario); ACA_FormatoAvaliacao entFormatoAvaliacao = new ACA_FormatoAvaliacao { fav_id = entTurma.fav_id }; ACA_FormatoAvaliacaoBO.GetEntity(entFormatoAvaliacao); VS_FechamentoAutomatico = entFormatoAvaliacao.fav_fechamentoAutomatico; TUR_TurmaDisciplina entityTurmaDisciplina = new TUR_TurmaDisciplina { tud_id = UCCTurmaDisciplina1.Valor }; TUR_TurmaDisciplinaBO.GetEntity(entityTurmaDisciplina); if (entityTurmaDisciplina.tud_naoLancarFrequencia) { lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + " não pode lançar frequência na turma.", UtilBO.TipoMensagem.Alerta); UCCTurmaDisciplina1.Valor = -1; } else { bool sucessoProcessarPendenciaFechamento = true; if (VS_FechamentoAutomatico) { var pendencias = CLS_AlunoFechamentoPendenciaBO.SelecionarAguardandoProcessamento(tur_id, entityTurmaDisciplina.tud_id, entityTurmaDisciplina.tud_tipo, 0); if ((pendencias != null) && (pendencias.Rows.Count > 0)) { try { // limpa cache desta turma string pattern; pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_PATTERN_KEY, entityTurmaDisciplina.tud_id); CacheManager.Factory.RemoveByPattern(pattern); pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_FILTRO_DEFICIENCIA_PATTERN_KEY, entityTurmaDisciplina.tud_id); CacheManager.Factory.RemoveByPattern(pattern); pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_BIMESTRE_COMPONENTES_REGENCIA_PATTERN_KEY, tur_id); CacheManager.Factory.RemoveByPattern(pattern); pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_PATTERN_KEY, entityTurmaDisciplina.tud_id); CacheManager.Factory.RemoveByPattern(pattern); pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_PATTERN_KEY, entityTurmaDisciplina.tud_id); CacheManager.Factory.RemoveByPattern(pattern); pattern = String.Format("{0}_{1}", ModelCache.FECHAMENTO_AUTO_FINAL_COMPONENTES_REGENCIA_PATTERN_KEY, tur_id); CacheManager.Factory.RemoveByPattern(pattern); pattern = String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, entTurma.esc_id, entTurma.uni_id, entCalendario.cal_ano, entityTurmaDisciplina.tud_id); CacheManager.Factory.Remove(pattern); CLS_AlunoFechamentoPendenciaBO.Processar(entityTurmaDisciplina.tud_id, (byte)AvaliacaoTipo.Final, pendencias); } catch (Exception ex) { sucessoProcessarPendenciaFechamento = false; ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("Classe", "CompensacaoAusencia.Cadastro.MensagemErroProcessarPendenciaFechamento").ToString(), UtilBO.TipoMensagem.Erro); } } } if (sucessoProcessarPendenciaFechamento) { UCCPeriodoCalendario.CarregarPorPeriodoEventoEfetivacaoVigentes(entTurma.cal_id, UCCTurmaDisciplina1.Valor, entTurma.tur_id, true); selecionouComboPeriodos = UCCPeriodoCalendario.Valor[0] != -1 && UCCPeriodoCalendario.Valor[1] != -1; UCCPeriodoCalendario.SetarFoco(); UCCPeriodoCalendario.PermiteEditar = true; } VS_DisciplinaEspecial = entityTurmaDisciplina.tud_disciplinaEspecial; VS_posicao = TUR_TurmaDocenteBO.SelecionaPosicaoPorDocenteTurma(_VS_doc_id, UCCTurmaDisciplina1.Valor, ApplicationWEB.AppMinutosCacheLongo); VS_tipoDocente = ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(VS_posicao, ApplicationWEB.AppMinutosCacheLongo); } } if (!selecionouComboPeriodos) { UCCPeriodoCalendario_IndexChanged(); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro); } }