protected void Page_Load(object sender, EventArgs e) { ScriptManager sm = ScriptManager.GetCurrent(Page); if (sm != null) { sm.Scripts.Add(new ScriptReference("~/Includes/underscore-min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/jquery-2.0.3.min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/bootstrap/bootstrap.min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/scrolling.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Charts/Chart.min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/angular-charts/angular-chart.min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/angular-filter/angular-filter.min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/angular.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/module.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/Boletim.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/calendario.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/sondagem.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/anotacao.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/justificativaFalta.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/movimentacao.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/matriculaTurma.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/conselhoClasse.controller.js")); sm.Scripts.Add(new ScriptReference("~/Includes/jquery.mCustomScrollbar.concat.min.js")); sm.Scripts.Add(new ScriptReference("~/Includes/Angular/angular-directives/JQmCustomScrollbar.js")); } if (!IsPostBack) { if (Session["alu_id"] != null) { alu_id = Convert.ToInt32(Session["alu_id"]); Session.Remove("alu_id"); if (Session["URLRetorno"] != null) { URLRetorno = Session["URLRetorno"].ToString(); Session.Remove("URLRetorno"); } else { URLRetorno = Path.Combine(MSTech.Web.WebProject.ApplicationWEB._DiretorioVirtual, "Academico/Aluno/Busca.aspx"); } using (DataTable dt = MTR_MatriculaTurmaBO.GetSelectAnoMatricula(alu_id)) { ano = dt.Select().Select(p => Convert.ToInt32(p["cal_ano"])).Max(); mtu_id = dt.Select(string.Format("cal_ano = {0}", ano)).Select(p => Convert.ToInt32(p["mtu_id"])).First(); tpc_id = dt.Select(string.Format("cal_ano = {0}", ano)).Select(p => Convert.ToInt32(p["tpc_id"])).First(); } Token = CreateToken(Usuario, Entidade, Grupo); } } }
/// <summary> /// Carrega dados na tela. /// </summary> private void CarregarTelaLancametoFrequencia() { try { if (VerificaPeriodoSelecionado()) { // Carregar repeater de alunos. dtEfetivacoes = CLS_FrequenciaReuniaoBO.SelecionaEfetivacaoDeReuniaoDeResponsaveis(VS_tur_id, VS_cal_id, VS_cap_id); rptAlunos.DataSource = MTR_MatriculaTurmaBO.SelecionaAlunosPorTurmaPeriodoCalendario( VS_tur_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, VS_cal_id, VS_cap_id, 1); rptAlunos.DataBind(); //Fazendo as validações após carregar os dados. if (rptAlunos.Items.Count == 0) { EscondeGridAlunos("Não foram encontrados alunos na turma selecionada."); chkTodas.Visible = false; } else { pnlLancamentoFrequencias.Visible = true; RepeaterItem header = (RepeaterItem)rptAlunos.Controls[0]; Repeater rptReunioes = (Repeater)header.FindControl("rptReunioes"); lblMsgParecer.Visible = rptReunioes.Items.Count > 0; _lblMsgRepeater.Visible = rptReunioes.Items.Count == 0; rptAlunos.Visible = true; if (rptReunioes.Items.Count == 0) { EscondeGridAlunos("Não foram encontradas reuniões para a turma."); chkTodas.Visible = false; } } HabilitarControlesTela(__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar && periodoAberto); ChecharFrequencias(); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar as frequências.", UtilBO.TipoMensagem.Erro); _uppMessage.Update(); } }
/// <summary> /// Executa pesquisa e preenche grid com alunos da turma carregada /// </summary> private void PesquisaAlunos() { try { _dgvAlunos.DataSourceID = odsALunosTurma.ID; odsALunosTurma.SelectParameters.Clear(); odsALunosTurma.SelectParameters.Add("tur_id", _VS_tur_id.ToString()); _dgvAlunos.Sort(VS_Ordenacao, VS_SortDirection); _dgvAlunos.DataBind(); DataTable dt = MTR_MatriculaTurmaBO.MatriculaTurmaAlunosNumeroChamada(_VS_tur_id); _VS_dadosAlunos = dt.Rows.Cast <DataRow>().Select(dr => new AlunosTurma { mtu_numeroChamada = Convert.ToInt32(dr["mtu_numeroChamada"]), numeroChamada = Convert.ToInt32(dr["numeroChamada"]), numeroChamadaReal = Convert.ToInt32(dr["numeroChamadaReal"]), alunoNome = Convert.ToString(dr["alunoNome"]), numeroMatricula = Convert.ToString(dr["numeroMatricula"]), alu_id = Convert.ToInt32(dr["alu_id"]), mtu_id = Convert.ToInt32(dr["mtu_id"]), mtuSituacao = Convert.ToInt32(dr["mtuSituacao"]), movimentacaoSaida = Convert.ToString(dr["movimentacaoSaida"]), mtu_dataMatricula = string.IsNullOrEmpty(dr["mtu_dataMatricula"].ToString()) ? new DateTime() : Convert.ToDateTime(dr["mtu_dataMatricula"].ToString()), mtu_dataSaida = string.IsNullOrEmpty(dr["mtu_dataSaida"].ToString()) ? new DateTime() : Convert.ToDateTime(dr["mtu_dataSaida"].ToString()) }).ToList(); _dgvAlunos.AllowPaging = false; _dgvAlunos.AllowSorting = true; if (_VS_dadosAlunos.Where(p => p.numeroChamada > 0 && p.mtuSituacao == 1).Count() > 0) { _dgvAlunos.Sort("mtu_numeroChamada", SortDirection.Ascending); } else { _dgvAlunos.Sort("alunoNome", SortDirection.Ascending); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar alunos da turma.", UtilBO.TipoMensagem.Erro); } }
protected void CarregarBoletim(long alu_id, int mtu_id) { try { string mtuId = ""; if (mtu_id > 0) { mtuId = Convert.ToString(mtu_id); } int tpc_id = 0; MTR_MatriculaTurma matriculaTurma = MTR_MatriculaTurmaBO.GetEntity(new MTR_MatriculaTurma { alu_id = __SessionWEB.__UsuarioWEB.alu_id, mtu_id = mtu_id }); TUR_Turma turma = TUR_TurmaBO.GetEntity(new TUR_Turma { tur_id = matriculaTurma.tur_id }); DataTable dtAvaliacao = ACA_AvaliacaoBO.GetSelectBy_FormatoAvaliacao(turma.fav_id); tpc_id = (from DataRow row in dtAvaliacao.Rows orderby Convert.ToInt32(row["tpc_ordem"]) select Convert.ToInt32(row["tpc_id"])).FirstOrDefault(); List <ACA_AlunoBO.BoletimDadosAluno> lBoletimAluno = ACA_AlunoBO.BuscaBoletimAlunos(Convert.ToString(alu_id), mtuId, tpc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (lBoletimAluno != null && lBoletimAluno.Any()) { UCAlunoBoletimEscolar.ExibeBoletim(lBoletimAluno.FirstOrDefault()); } else { throw new ValidationException("O aluno não possui dados para o boletim."); } } catch (ValidationException ex) { lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMensagem.Text = UtilBO.GetErroMessage("Erro ao exibir o Boletim Online do aluno.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Realiza a pesquisa de alunos para lançamento de frequência externa /// </summary> private void Pesquisar() { using (DataTable dt = MTR_MatriculaTurmaBO.SelecionaAlunosEntradaOutrasRedes(UCCTurma.Valor[0])) { using (DataView dv = dt.DefaultView) { dv.Sort = string.Format("{0} {1}", VS_Ordenacao, VS_SortDirection == SortDirection.Ascending ? "ASC" : "DESC"); grvResultado.DataSource = dv; grvResultado.DataBind(); } } pnlResultados.Visible = true; updResultado.Update(); #region Salvar busca realizada Dictionary <string, string> filtros = new Dictionary <string, string>(); filtros.Add("turmaExtinta", chkTurmaExtinta.Checked.ToString()); if (UCFiltroEscolas._VS_FiltroEscola) { filtros.Add("uad_idSuperior", UCFiltroEscolas._UCComboUnidadeAdministrativa_Uad_ID.ToString()); } filtros.Add("esc_id", UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID.ToString()); filtros.Add("uni_id", UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID.ToString()); filtros.Add("cal_id", UCCCalendario.Valor.ToString()); filtros.Add("tur_id", UCCTurma.Valor[0].ToString()); filtros.Add("crp_id", UCCTurma.Valor[1].ToString()); filtros.Add("ttn_id", UCCTurma.Valor[2].ToString()); __SessionWEB.BuscaRealizada = new BuscaGestao { PaginaBusca = PaginaGestao.LancamentoFrequenciaExterna , Filtros = filtros }; #endregion Salvar busca realizada }
/// <summary> /// Carrega os documentos ativos /// </summary> private void CarregarDocumentos(long alu_id, int mtu_id) { string mtuId = ""; if (mtu_id > 0) { mtuId = Convert.ToString(mtu_id); } MTR_MatriculaTurma matriculaTurma = MTR_MatriculaTurmaBO.GetEntity(new MTR_MatriculaTurma { alu_id = __SessionWEB.__UsuarioWEB.alu_id, mtu_id = mtu_id }); //TUR_Turma turma = TUR_TurmaBO.GetEntity(new TUR_Turma { tur_id = matriculaTurma.tur_id }); TUR_TurmaCurriculo curriculo = TUR_TurmaCurriculoBO.GetSelectBy_Turma(matriculaTurma.tur_id).FirstOrDefault(); ACA_Curso curso = ACA_CursoBO.GetEntity(new ACA_Curso { cur_id = curriculo.cur_id }); this.tne_id = curso.tne_id; DataTable dtArea = ACA_TipoAreaDocumentoBO.SelecionarAtivos(); dtArea.Columns.Add("PPP"); // Adiciona PPP DataRow drPPP = dtArea.NewRow(); drPPP["tad_id"] = -1; drPPP["tad_nome"] = GetGlobalResourceObject("Mensagens", "MSG_PLANO_POLITICO_PEDAGOGICO").ToString(); drPPP["PPP"] = true; drPPP["tad_cadastroEscolaBoolean"] = true; dtArea.Rows.Add(drPPP); rptAreas.DataSource = dtArea; rptAreas.DataBind(); lblSemAreas.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("UserControl", "UCPlanejamentoProjetos.lblSemAreas.Text"), UtilBO.TipoMensagem.Informacao); lblSemAreas.Visible = rptAreas.Items.Count <= 0; }
/// <summary> /// Carrega os dados do aluno /// </summary> public void CarregarDadosAluno() { int tev_idFechamento = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_EVENTO_EFETIVACAO_NOTAS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); VS_ListaDadosPeriodo = MTR_MatriculaTurmaBO.SelecionarDadosAlunoEntradaRede(VS_alu_id, VS_mtu_id, tev_idFechamento, false); if (VS_ListaDadosPeriodo.Any()) { DadosAlunoEntradaRede dados = VS_ListaDadosPeriodo.First(); #region Cabeçalho - dados do aluno // Carrega os dados do aluno. lblNomeAluno.Text = dados.pes_nome; lblTurma.Text = dados.tur_codigo; if (dados.mtu_numeroChamada > 0) { lblNumeroChamada.Text = Convert.ToString(dados.mtu_numeroChamada); } else { lblNumeroChamada.Text = "-"; } lblCodigoEol.Text = dados.alc_matricula; if (dados.arq_idFoto > 0) { imgFotoAluno.ImageUrl = string.Format("~/WebControls/BoletimCompletoAluno/Imagem.ashx?idfoto={0}", dados.arq_idFoto); } else { imgFotoAluno.ImageUrl = __SessionWEB._AreaAtual._DiretorioImagens + "imgsAreaAluno/fotoAluno.png"; } #endregion CarregarLancamento(); } }
public static bool Delete(CLS_RelatorioPreenchimentoAlunoTurmaDisciplina entity, int rea_id) { CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaDAO dao = new CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaDAO(); dao._Banco.Open(IsolationLevel.ReadCommitted); try { bool sucesso = Delete(entity, dao._Banco); if (sucesso) { CLS_RelatorioAtendimento relatorioAtendimento = CLS_RelatorioAtendimentoBO.GetEntity(new CLS_RelatorioAtendimento { rea_id = rea_id }); if (relatorioAtendimento.rea_tipo == (byte)CLS_RelatorioAtendimentoTipo.RP) { ACA_CalendarioAnual calendario = ACA_CalendarioAnualBO.SelecionaPorTurma(entity.tur_id); List <MTR_MatriculaTurma> matriculasAno = MTR_MatriculaTurmaBO.GetSelectMatriculasAlunoAno(entity.alu_id, calendario.cal_ano); matriculasAno.ForEach(p => LimpaCache_AlunoPreenchimentoPorPeriodoDisciplina(entity.tpc_id, p.tur_id)); ACA_FormatoAvaliacao fav = TUR_TurmaBO.SelecionaFormatoAvaliacao(entity.tur_id, dao._Banco); if (fav != null && fav.fav_fechamentoAutomatico) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias(entity.tud_id, entity.tpc_id, dao._Banco); } } else if (relatorioAtendimento.rea_tipo == (byte)CLS_RelatorioAtendimentoTipo.NAAPA) { List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>(); ACA_CalendarioAnual cal = ACA_CalendarioAnualBO.SelecionaPorTurma(entity.tur_id, dao._Banco); var periodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(cal.cal_id, GestaoEscolarUtilBO.MinutosCacheLongo); FilaProcessamento.AddRange(TUR_TurmaDisciplinaBO.GetSelectBy_Turma(entity.tur_id, dao._Banco, GestaoEscolarUtilBO.MinutosCacheLongo) .SelectMany ( tud => periodos.Select ( tpc => new AlunoFechamentoPendencia { tud_id = tud.tud_id , tpc_id = tpc.tpc_id , afp_frequencia = true , afp_nota = true , afp_processado = 2 } ).ToList() )); if (FilaProcessamento.Any()) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias(FilaProcessamento, dao._Banco); } } } return(sucesso); } catch (Exception ex) { dao._Banco.Close(ex); throw; } finally { if (dao._Banco.ConnectionIsOpen) { dao._Banco.Close(); } } }
/// <summary> /// Carrega as informações do aluno que serão exibidas na tela. /// </summary> private void LoadInformacoesAluno() { try { DadosAlunoPessoa dados = ACA_AlunoBO.GetDadosAluno(VS_alu_id); TUR_TurmaDisciplina tud = new TUR_TurmaDisciplina { tud_id = VS_tud_id }; TUR_TurmaDisciplinaBO.GetEntity(tud); lblDisciplina.Text += tud.tud_nome + "<br />"; lblNome.Text += dados.pes_nome + "<br />"; lblDataNascimento.Text += (Convert.ToDateTime(dados.pes_dataNascimento).ToShortDateString()) + "<br />"; lblNomeMae.Text += dados.pesMae_nome + "<br />"; lblDataCadastro.Text += (Convert.ToDateTime(dados.pes_dataCriacao).ToShortDateString()) + "<br />"; lblDataAlteracao.Text += (Convert.ToDateTime(dados.pes_dataAlteracao).ToShortDateString()) + "<br />"; lblSituacao.Text += situacao(dados.alu_situacao) + "<br />"; DataTable matricula = VS_mtu_id >= 0 ? MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAlunoMtu(VS_alu_id, VS_mtu_id) : MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAluno(VS_alu_id); if (matricula.Rows.Count > 0) { if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { lblEscola.Text += string.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_codigo"] + " - " + matricula.Rows[0]["esc_nome"] + "<br />"; } else { lblEscola.Text += string.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_nome"] + "<br />"; } lblCurso.Text = string.IsNullOrEmpty(matricula.Rows[0]["cur_nome"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["cur_nome"] + "<br />"; lblPeriodo.Text = string.IsNullOrEmpty(matricula.Rows[0]["crp_descricao"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["crp_descricao"] + "<br />"; lblTurma.Text += string.IsNullOrEmpty(matricula.Rows[0]["tur_codigo"].ToString()) ? " - <br />" : matricula.Rows[0]["tur_codigo"] + "<br />"; if (!string.IsNullOrEmpty(matricula.Rows[0]["mtu_numeroChamada"].ToString())) { if (Convert.ToInt32(matricula.Rows[0]["mtu_numeroChamada"]) > 0) { lblNChamada.Text += matricula.Rows[0]["mtu_numeroChamada"] + "<br />"; } else { lblNChamada.Text += " - <br />"; } } else { lblNChamada.Text += " - <br />"; } string matriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (!string.IsNullOrEmpty(matriculaEstadual)) { string mtrEstadual = string.IsNullOrEmpty(matricula.Rows[0]["alc_matriculaEstadual"].ToString()) ? "-" : matricula.Rows[0]["alc_matriculaEstadual"].ToString(); lblRA.Text = "<b>" + matriculaEstadual + ": </b>" + mtrEstadual + "<br />"; lblRA.Visible = true; } else { string mtr = string.IsNullOrEmpty(matricula.Rows[0]["alc_matricula"].ToString()) ? "-" : matricula.Rows[0]["alc_matricula"].ToString(); lblRA.Text = "<b>" + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + mtr + "<br />"; lblRA.Visible = true; } } else { lblEscola.Visible = false; lblCurso.Visible = false; lblPeriodo.Visible = false; lblTurma.Visible = false; lblNChamada.Visible = false; lblRA.Visible = false; } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage(CustomResource.GetGlobalResourceObject("Classe", "JustificativaAbonoFalta.Mensagem.Erro"), UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Salva os dados da média dos alunos. /// </summary> /// <param name="ltAlunoAvaliacaoTurmaDisciplinaMedia">Lista de médias dos alunos.</param> /// <param name="banco">Transação.</param> /// <returns>True em caso de sucesso.</returns> public static bool SalvarEmLote(long tur_id, long tud_id, int tpc_id, int fav_id, List <CLS_AlunoAvaliacaoTurmaDisciplinaMedia> ltAlunoAvaliacaoTurmaDisciplinaMedia, TalkDBTransaction banco) { DataTable dtAlunoAvaliacaoTurmaDisciplinaMedia = CLS_AlunoAvaliacaoTurmaDisciplinaMedia.TipoTabela_AlunoAvaliacaoTurmaDisciplinaMedia(); if (ltAlunoAvaliacaoTurmaDisciplinaMedia != null && ltAlunoAvaliacaoTurmaDisciplinaMedia.Any()) { object lockObject = new object(); Parallel.ForEach ( ltAlunoAvaliacaoTurmaDisciplinaMedia, alunoAvaliacaoTurmaDisciplinaMedia => { lock (lockObject) { DataRow dr = dtAlunoAvaliacaoTurmaDisciplinaMedia.NewRow(); dtAlunoAvaliacaoTurmaDisciplinaMedia.Rows.Add(AlunoAvaliacaoTurmaDisciplinaMediaToDataRow(alunoAvaliacaoTurmaDisciplinaMedia, dr)); } } ); bool retorno = banco == null ? new CLS_AlunoAvaliacaoTurmaDisciplinaMediaDAO().SalvarEmLote(dtAlunoAvaliacaoTurmaDisciplinaMedia) : new CLS_AlunoAvaliacaoTurmaDisciplinaMediaDAO { _Banco = banco }.SalvarEmLote(dtAlunoAvaliacaoTurmaDisciplinaMedia); if (retorno && HttpContext.Current != null) { // Limpa o cache do fechamento try { string chave = string.Empty; List <ACA_Avaliacao> avaliacao = ACA_AvaliacaoBO.GetSelectBy_FormatoAvaliacaoPeriodo(fav_id, tpc_id); if (avaliacao.Any()) { int ava_id = avaliacao.First().ava_id; if (tud_id > 0) { chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodo(tud_id, fav_id, ava_id, string.Empty); CacheManager.Factory.RemoveByPattern(chave); chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodoFiltroDeficiencia(tud_id, fav_id, ava_id, string.Empty); CacheManager.Factory.RemoveByPattern(chave); chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelect_ComponentesRegencia_By_TurmaFormato(tur_id, fav_id, ava_id); CacheManager.Factory.Remove(chave); } else { chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Periodo(tur_id, fav_id, ava_id); HttpContext.Current.Cache.Remove(chave); } // Recupero o id da avaliacao final para limpar o cache DataTable avaFinal = ACA_AvaliacaoBO.GetSelectBy_TipoAvaliacao(AvaliacaoTipo.Final, fav_id); ava_id = avaFinal.Rows.Count == 0 ? -1 : Convert.ToInt32(avaFinal.Rows[0]["ava_id"]); // Limpa o cache da efetivacao final if (ava_id > 0) { if (tud_id > 0) { chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaFinal(tud_id, fav_id, ava_id, string.Empty); CacheManager.Factory.RemoveByPattern(chave); chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaFinalFiltroDeficiencia(tud_id, fav_id, ava_id, string.Empty); CacheManager.Factory.RemoveByPattern(chave); chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelect_ComponentesRegencia_By_TurmaFormato_Final(tur_id, fav_id, ava_id); CacheManager.Factory.Remove(chave); } else { chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Final(tur_id, fav_id, ava_id); HttpContext.Current.Cache.Remove(chave); } } } } catch { } } return(retorno); } return(true); }
/// <summary> /// Carrega as informações do aluno que serão mostradas na tela. /// </summary> private void LoadInformacoesAluno() { try { ACA_Aluno alu = new ACA_Aluno(); PES_Pessoa pes = new PES_Pessoa(); PES_Pessoa mae = new PES_Pessoa(); if (_VS_alu_id > 0) { alu.alu_id = _VS_alu_id; ACA_AlunoBO.GetEntity(alu); if (alu.ent_id != Ent_id) { __SessionWEB.PostMessages = UtilBO.GetErroMessage("O aluno não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta); Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } pes.pes_id = alu.pes_id; PES_PessoaBO.GetEntity(pes); mae.pes_id = pes.pes_idFiliacaoMae; PES_PessoaBO.GetEntity(mae); } lblNome.Text += pes.NomeFormatado(VS_exibicaoNomePessoa) + "<br />"; lblDataNascimento.Text += (Convert.ToDateTime(pes.pes_dataNascimento).ToShortDateString()) + "<br />"; string nomeMae = String.IsNullOrEmpty(mae.pes_nome) ? "-" : mae.pes_nome; lblNomeMae.Text += nomeMae + "<br />"; lblDataCadastro.Text += (Convert.ToDateTime(pes.pes_dataCriacao).ToShortDateString()) + "<br />"; lblDataAlteracao.Text += (Convert.ToDateTime(pes.pes_dataAlteracao).ToShortDateString()) + "<br />"; lblSituacao.Text += situacao(alu.alu_situacao) + "<br />"; DataTable matricula = VS_mtu_id >= 0 ? MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAlunoMtu(_VS_alu_id, VS_mtu_id) : MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAluno(_VS_alu_id); if (matricula.Rows.Count > 0) { if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_codigo"] + " - " + matricula.Rows[0]["esc_nome"] + "<br />"; } else { lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_nome"] + "<br />"; } lblCurso.Text = String.IsNullOrEmpty(matricula.Rows[0]["cur_nome"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["cur_nome"] + "<br />"; lblPeriodo.Text = String.IsNullOrEmpty(matricula.Rows[0]["crp_descricao"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["crp_descricao"] + "<br />"; lblTurma.Text += String.IsNullOrEmpty(matricula.Rows[0]["tur_codigo"].ToString()) ? " - <br />" : matricula.Rows[0]["tur_codigo"] + "<br />"; if (string.IsNullOrEmpty(matricula.Rows[0]["crp_nomeAvaliacao"].ToString())) { lblAvaliacao.Visible = false; } else { lblAvaliacao.Text = "<b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + ": </b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + " " + matricula.Rows[0]["tca_numeroAvaliacao"] + "<BR />"; lblAvaliacao.Visible = true; } if (!String.IsNullOrEmpty(matricula.Rows[0]["mtu_numeroChamada"].ToString())) { if (Convert.ToInt32(matricula.Rows[0]["mtu_numeroChamada"]) > 0) { lblNChamada.Text += matricula.Rows[0]["mtu_numeroChamada"] + "<br />"; } else { lblNChamada.Text += " - <br />"; } } else { lblNChamada.Text += " - <br />"; } string matriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (!String.IsNullOrEmpty(matriculaEstadual)) { string mtrEstadual = String.IsNullOrEmpty(matricula.Rows[0]["alc_matriculaEstadual"].ToString()) ? "-" : matricula.Rows[0]["alc_matriculaEstadual"].ToString(); lblRA.Text = "<b>" + matriculaEstadual + ": </b>" + mtrEstadual + "<br />"; lblRA.Visible = true; } else { string mtr = String.IsNullOrEmpty(matricula.Rows[0]["alc_matricula"].ToString()) ? "-" : matricula.Rows[0]["alc_matricula"].ToString(); lblRA.Text = "<b>" + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + mtr + "<br />"; lblRA.Visible = true; } //Carrega nas propriedades os ids: Escola, Curso, Turma VS_cur_id = Convert.ToInt32(matricula.Rows[0]["cur_id"]); VS_esc_id = Convert.ToInt32(matricula.Rows[0]["esc_id"]); VS_tur_id = Convert.ToInt32(matricula.Rows[0]["tur_id"]); VS_cal_id = Convert.ToInt32(matricula.Rows[0]["cal_id"]); VS_cal_ano = Convert.ToInt32(matricula.Rows[0]["cal_ano"]); } else { lblEscola.Visible = false; lblCurso.Visible = false; lblPeriodo.Visible = false; lblTurma.Visible = false; lblNChamada.Visible = false; lblRA.Visible = false; lblAvaliacao.Visible = false; } if (FitroCalendario) { ddlAnoCalendario.Items.Clear(); odsAnoCalendario.SelectParameters.Add("alu_id", _VS_alu_id.ToString()); ddlAnoCalendario.DataBind(); int cal_id = -1; int max = -1; //Pega o calendário do ano atual ou o último ano que o aluno possui anotação. foreach (ListItem lst in ddlAnoCalendario.Items) { if (Convert.ToInt32(lst.Text) == DateTime.Today.Year) { cal_id = Convert.ToInt32(lst.Value); break; } else if (Convert.ToInt32(lst.Text) > max) { cal_id = Convert.ToInt32(lst.Value); max = Convert.ToInt32(lst.Text); } } ddlAnoCalendario.SelectedValue = cal_id.ToString(); if (ddlAnoCalendario.Items.Count == 0) { ddlAnoCalendario.Visible = false; lblAnoCalendario.Visible = false; } } else { divAnoCalendario.Visible = false; } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar dados do aluno.", UtilBO.TipoMensagem.Erro); } }
public static bool Salvar(RelatorioPreenchimentoAluno relatorio, List <CLS_AlunoDeficienciaDetalhe> lstDeficienciaDetalhe, bool permiteAlterarRacaCor, byte racaCor, List <CLS_RelatorioPreenchimentoAcoesRealizadas> lstAcoesRealizadas) { CLS_RelatorioPreenchimentoDAO dao = new CLS_RelatorioPreenchimentoDAO(); dao._Banco.Open(IsolationLevel.ReadCommitted); PES_PessoaDAO daoCore = new PES_PessoaDAO(); daoCore._Banco.Open(IsolationLevel.ReadCommitted); try { bool retorno = true; if (permiteAlterarRacaCor) { ACA_Aluno alu = new ACA_Aluno { alu_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id }; ACA_AlunoBO.GetEntity(alu); PES_Pessoa pes = new PES_Pessoa { pes_id = alu.pes_id }; PES_PessoaBO.GetEntity(pes); pes.pes_racaCor = racaCor; PES_PessoaBO.Save(pes, daoCore._Banco); } List <CLS_AlunoDeficienciaDetalhe> lstDeficienciaDetalheBanco = (from sAlunoDeficiencia alunoDeficiencia in CLS_AlunoDeficienciaDetalheBO.SelecionaPorAluno(relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id) from sAlunoDeficienciaDetalhe alunoDeficienciaDetalhe in alunoDeficiencia.lstDeficienciaDetalhe select new CLS_AlunoDeficienciaDetalhe { alu_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id , tde_id = alunoDeficiencia.tde_id , dfd_id = alunoDeficienciaDetalhe.dfd_id }).ToList(); if (lstDeficienciaDetalheBanco.Any()) { lstDeficienciaDetalheBanco.ForEach(p => CLS_AlunoDeficienciaDetalheBO.Delete(p, dao._Banco)); } if (relatorio.entityRelatorioPreenchimento.reap_id > 0) { CLS_QuestionarioConteudoPreenchimentoBO.ExcluiPorReapId(relatorio.entityRelatorioPreenchimento.reap_id, dao._Banco); CLS_QuestionarioRespostaPreenchimentoBO.ExcluiPorReapId(relatorio.entityRelatorioPreenchimento.reap_id, dao._Banco); } retorno &= Save(relatorio.entityRelatorioPreenchimento, dao._Banco); relatorio.entityPreenchimentoAlunoTurmaDisciplina.reap_id = relatorio.entityRelatorioPreenchimento.reap_id; retorno &= CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.Save(relatorio.entityPreenchimentoAlunoTurmaDisciplina, dao._Banco); relatorio.lstQuestionarioConteudoPreenchimento.ForEach ( p => { p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id; retorno &= CLS_QuestionarioConteudoPreenchimentoBO.Save(p, dao._Banco); } ); relatorio.lstQuestionarioRespostaPreenchimento.ForEach ( p => { p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id; retorno &= CLS_QuestionarioRespostaPreenchimentoBO.Save(p, dao._Banco); } ); lstDeficienciaDetalhe.ForEach ( p => { retorno &= CLS_AlunoDeficienciaDetalheBO.Save(p, dao._Banco); } ); lstAcoesRealizadas.ForEach ( p => { if (p.rpa_situacao == (byte)CLS_RelatorioPreenchimentoAcoesRealizadasSituacao.Excluido) { retorno &= CLS_RelatorioPreenchimentoAcoesRealizadasBO.Delete(p, dao._Banco); } else { p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id; retorno &= CLS_RelatorioPreenchimentoAcoesRealizadasBO.Save(p, dao._Banco); } } ); CLS_RelatorioAtendimento relatorioAtendimento = CLS_RelatorioAtendimentoBO.GetEntity(new CLS_RelatorioAtendimento { rea_id = relatorio.entityRelatorioPreenchimento.rea_id }); ACA_CalendarioAnual calendario = ACA_CalendarioAnualBO.SelecionaPorTurma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id); List <MTR_MatriculaTurma> matriculasAno = MTR_MatriculaTurmaBO.GetSelectMatriculasAlunoAno(relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id, calendario.cal_ano); matriculasAno.ForEach(p => CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.LimpaCache_AlunoPreenchimentoPorPeriodoDisciplina(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id, p.tur_id)); if (relatorioAtendimento.rea_gerarPendenciaFechamento && ACA_FormatoAvaliacaoBO.CarregarPorTur(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco).fav_fechamentoAutomatico) { List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>(); if (relatorioAtendimento.rea_tipo == (byte)CLS_RelatorioAtendimentoTipo.RP && relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id > 0) { if (relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id > 0) { FilaProcessamento.Add( new AlunoFechamentoPendencia { tud_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id , tpc_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id , afp_frequencia = true , afp_nota = true , afp_processado = 2 }); } else { FilaProcessamento.AddRange(ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(calendario.cal_id, GestaoEscolarUtilBO.MinutosCacheLongo) .Select(p => new AlunoFechamentoPendencia { tud_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id, tpc_id = p.tpc_id, afp_frequencia = true, afp_nota = false, afp_processado = 2 }).ToList()); } } else { if (relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id > 0) { FilaProcessamento.AddRange(TUR_TurmaDisciplinaBO.GetSelectBy_Turma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco, GestaoEscolarUtilBO.MinutosCacheLongo) .Select(p => new AlunoFechamentoPendencia { tud_id = p.tud_id , tpc_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id , afp_frequencia = true , afp_nota = true , afp_processado = 2 }).ToList()); } else { var periodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(calendario.cal_id, GestaoEscolarUtilBO.MinutosCacheLongo); FilaProcessamento.AddRange(TUR_TurmaDisciplinaBO.GetSelectBy_Turma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco, GestaoEscolarUtilBO.MinutosCacheLongo) .SelectMany ( tud => periodos.Select ( tpc => new AlunoFechamentoPendencia { tud_id = tud.tud_id , tpc_id = tpc.tpc_id , afp_frequencia = true , afp_nota = true , afp_processado = 2 } ).ToList() )); } } if (FilaProcessamento.Any()) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias(FilaProcessamento, dao._Banco); } } return(retorno); } catch (Exception ex) { dao._Banco.Close(ex); daoCore._Banco.Close(ex); throw; } finally { if (dao._Banco.ConnectionIsOpen) { dao._Banco.Close(); } if (daoCore._Banco.ConnectionIsOpen) { daoCore._Banco.Close(); } } }
/// <summary> /// Salva as entidades turmaAula e TurmaAulaAluno nas listas - com transação. /// </summary> /// <param name="listTurmaAulaAluno">Lista de entidades CLS_TurmaAulaAluno</param> /// <param name="listTurmaAula">LIsta de entidades CLS_TurmaAula</param> /// <param name="tur_id">ID da turma</param> /// <param name="tud_id">ID da disciplina que está sendo salva as frequências</param> /// <param name="tdt_posicao">Posição do docente logado no sistema</param> /// <param name="entityTurma">Turma.</param> /// <param name="entityFormatoAvaliacao">Formato de avaliação.</param> /// <param name="entityCurriculoPeriodo">CurriculoPeriodo.</param> /// <param name="banco">Transação com banco de dados aberta</param> /// <returns></returns> internal static bool Save ( List <CLS_TurmaAulaAluno> listTurmaAulaAluno , List <CLS_TurmaAula> listTurmaAula , long tur_id , long tud_id , byte tdt_posicao , TUR_Turma entityTurma , ACA_FormatoAvaliacao entityFormatoAvaliacao , ACA_CurriculoPeriodo entityCurriculoPeriodo , TalkDBTransaction banco , Guid usu_id = new Guid() , byte origemLogAula = 0 , byte tipoLogAula = 0 , Guid ent_id = new Guid() ) { string tau_ids = string.Join(",", (from CLS_TurmaAula item in listTurmaAula select item.tau_id.ToString()). ToArray()); // Recupera a lista de entidades CLS_TurmaAulaAluno para verificar se ela já existe. List <CLS_TurmaAulaAluno> listaTurmaAulaAluno = new CLS_TurmaAulaAlunoDAO { _Banco = banco } .SelectBy_Disciplina_Aulas(tud_id, tau_ids); DataTable dtTurmaAulaAluno = CLS_TurmaAulaAluno.TipoTabela_TurmaAulaAluno(); List <LOG_TurmaAula_Alteracao> listLogAula = new List <LOG_TurmaAula_Alteracao>(); object lockObject = new object(); Parallel.ForEach ( listTurmaAulaAluno, entityTurmaAulaAluno => { // Busca se a entidade já existe na lista. CLS_TurmaAulaAluno entAux = listaTurmaAulaAluno.Find(p => p.tud_id == entityTurmaAulaAluno.tud_id && p.tau_id == entityTurmaAulaAluno.tau_id && p.alu_id == entityTurmaAulaAluno.alu_id && p.mtu_id == entityTurmaAulaAluno.mtu_id && p.mtd_id == entityTurmaAulaAluno.mtd_id ); if (entAux != null) { entityTurmaAulaAluno.IsNew = entAux.IsNew; entityTurmaAulaAluno.taa_anotacao = entAux.taa_anotacao; entityTurmaAulaAluno.usu_idDocenteAlteracao = entAux.usu_idDocenteAlteracao; } Validate(entityTurmaAulaAluno, listTurmaAula); if (entityTurmaAulaAluno.Validate()) { lock (lockObject) { DataRow dr = dtTurmaAulaAluno.NewRow(); dtTurmaAulaAluno.Rows.Add(TurmaAulaAlunoToDataRow(entityTurmaAulaAluno, dr)); } } else { throw new ValidationException(GestaoEscolarUtilBO.ErrosValidacao(entityTurmaAulaAluno)); } } ); // Salva os dados de todos os alunos na tabela CLS_TurmaAulaAluno SalvaFrequenciaAlunos(dtTurmaAulaAluno, banco); // Verifica se a entidade recebida por parâmetro foi alimentada, se não foi, dá o GetEntity. TUR_Turma turma = entityTurma ?? TUR_TurmaBO.GetEntity(new TUR_Turma { tur_id = tur_id }, banco); ACA_FormatoAvaliacao formatoAvaliacao = entityFormatoAvaliacao ?? ACA_FormatoAvaliacaoBO.GetEntity(new ACA_FormatoAvaliacao { fav_id = turma.fav_id }, banco); ACA_CurriculoPeriodo entityCrp = entityCurriculoPeriodo ?? ACA_CurriculoPeriodoBO.SelecionaPorTurmaTipoNormal(turma.tur_id, GestaoEscolarUtilBO.MinutosCacheLongo); List <TUR_TurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, banco, GestaoEscolarUtilBO.MinutosCacheLongo); TUR_TurmaDisciplina entDisciplinarincipal = listaDisciplinas.Find(p => p.tud_tipo == (byte)TurmaDisciplinaTipo.DisciplinaPrincipal); // Se não for para lançar na disciplina global, e a turma possuir uma disc. principal, // só poderá salvar na disciplina principal. bool validarDiscPrincipal = (!(turma.tur_docenteEspecialista && formatoAvaliacao.fav_planejamentoAulasNotasConjunto)) && (entDisciplinarincipal != null) && (formatoAvaliacao.fav_tipoApuracaoFrequencia != (byte)ACA_FormatoAvaliacaoTipoApuracaoFrequencia.Dia && entityCrp.crp_controleTempo != (byte)ACA_CurriculoPeriodoControleTempo.Horas); DateTime dataLogAula = DateTime.Now; foreach (CLS_TurmaAula entityTurmaAula in listTurmaAula) { // Se for pra validar a disc. principal, só pode lançar frequência nela. if (validarDiscPrincipal && (entDisciplinarincipal.tud_id != entityTurmaAula.tud_id)) { throw new ValidationException("A frequência dessa turma só pode ser lançada para o(a) " + CustomResource.GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + entDisciplinarincipal.tud_nome + "."); } if (origemLogAula > 0) { LOG_TurmaAula_Alteracao entLogAula = new LOG_TurmaAula_Alteracao { tud_id = entityTurmaAula.tud_id, tau_id = entityTurmaAula.tau_id, usu_id = usu_id, lta_origem = origemLogAula, lta_tipo = tipoLogAula, lta_data = dataLogAula }; listLogAula.Add(entLogAula); } } //Salva os logs de alteração de aula LOG_TurmaAula_AlteracaoBO.SalvarEmLote(listLogAula, banco); // Atualiza o campo efetivado da aula. CLS_TurmaAulaBO.AtualizarEfetivado(listTurmaAula, banco); // Caso o fechamento seja automático, grava na fila de processamento. if (formatoAvaliacao.fav_fechamentoAutomatico && listTurmaAula.Count > 0 && listTurmaAula[0].tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(tud_id, listTurmaAula[0].tpc_id, banco); } if (listTurmaAula.Any() && dtTurmaAulaAluno.Rows.Count > 0 && HttpContext.Current != null) { // Limpa o cache do fechamento try { string chave = string.Empty; int tpc_id = listTurmaAula[0].tpc_id; List <ACA_Avaliacao> avaliacao = ACA_AvaliacaoBO.GetSelectBy_FormatoAvaliacaoPeriodo(turma.fav_id, tpc_id); if (avaliacao.Any()) { int ava_id = avaliacao.First().ava_id; if (tud_id > 0) { chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodo(tud_id, turma.fav_id, ava_id, string.Empty); CacheManager.Factory.RemoveByPattern(chave); chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodoFiltroDeficiencia(tud_id, turma.fav_id, ava_id, string.Empty); CacheManager.Factory.RemoveByPattern(chave); } else { chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Periodo(tur_id, turma.fav_id, ava_id); HttpContext.Current.Cache.Remove(chave); } } } catch { } } return(true); }
protected void grvResultado_DataBound(object sender, EventArgs e) { UCTotalRegistros.Total = MTR_MatriculaTurmaBO.GetTotalRecords(); ConfiguraColunasOrdenacao((GridView)sender, VS_Ordenacao, VS_SortDirection); }
/// <summary> /// O método salva as observações para conselho pedagógico. /// </summary> /// <param name="tur_id">ID da turma.</param> /// <param name="alu_id">ID do aluno.</param> /// <param name="mtu_id">ID da matrícula turma do aluno.</param> /// <param name="fav_id">ID do formato de avaliação.</param> /// <param name="ava_id">ID da avaliação.</param> /// <param name="ltObservacao">Lista de observações.</param> /// <param name="banco">Banco</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> /// <returns></returns> public static bool SalvarObservacao ( long tur_id, long alu_id, int mtu_id, long[] tud_ids, List <CLS_AlunoAvaliacaoTurmaObservacao> listaObservacao, List <CLS_AlunoAvaliacaoTurma> listaAlunoAvaliacaoTurma, List <CLS_AlunoAvaliacaoTurmaDisciplina> listaAlunoAvaliacaoTurmaDisciplina, List <ACA_AlunoAnotacao> listaAlunoAnotacao, bool permiteEditarResultadoFinal, Guid usu_idLogado, byte resultado, DateTime dataUltimaAlteracaoObservacao, DateTime dataUltimaAlteracaoNotaFinal, ACA_FormatoAvaliacao entFormatoAvaliacao, List <CLS_AvaliacaoTurDisc_Cadastro> listaDisciplina, List <MTR_MatriculaTurmaDisciplina> listaMatriculaTurmaDisciplina, int tamanhoMaximoKB, string[] TiposArquivosPermitidos, ref List <CLS_AlunoAvaliacaoTurmaDisciplina> listaAtualizacaoEfetivacao, Guid ent_id, IDictionary <int, int> dicAvaTpc, List <CLS_AlunoAvaliacaoTurmaObservacaoBO.DadosAlunoObservacao> listaDadosPeriodo ) { TalkDBTransaction banco = new CLS_AlunoAvaliacaoTurmaObservacaoDAO()._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>(); int tpc_idUltimoPeriodo = (dicAvaTpc.Count() > 0 ? dicAvaTpc.Max(p => p.Value) : 0); try { foreach (CLS_AlunoAvaliacaoTurmaObservacao observacao in listaObservacao) { observacao.usu_idAlteracao = usu_idLogado; Save(observacao, banco); } foreach (CLS_AlunoAvaliacaoTurma alunoAvaliacaoTurma in listaAlunoAvaliacaoTurma) { CLS_AlunoAvaliacaoTurmaBO.Save(alunoAvaliacaoTurma, banco); } object lockObject = new object(); DataTable dtAlunoAvaliacaoTurmaDisciplina = CLS_AlunoAvaliacaoTurmaDisciplina.TipoTabela_AlunoAvaliacaoTurmaDisciplina(); if (listaAlunoAvaliacaoTurmaDisciplina.Any()) { Parallel.ForEach ( listaAlunoAvaliacaoTurmaDisciplina, alunoAvaliacaoTurmaDisciplina => { lock (lockObject) { DataRow drAlunoAvaliacaoTurmaDisciplina = dtAlunoAvaliacaoTurmaDisciplina.NewRow(); dtAlunoAvaliacaoTurmaDisciplina.Rows.Add( CLS_AlunoAvaliacaoTurmaDisciplinaBO.EntityToDataRow(alunoAvaliacaoTurmaDisciplina, drAlunoAvaliacaoTurmaDisciplina)); } } ); } if (dtAlunoAvaliacaoTurmaDisciplina.Rows.Count > 0) { CLS_AlunoAvaliacaoTurmaDisciplinaBO.SalvarEmLotePosConselho(dtAlunoAvaliacaoTurmaDisciplina, banco); if (entFormatoAvaliacao.fav_fechamentoAutomatico && listaAlunoAvaliacaoTurmaDisciplina.Any()) { FilaProcessamento.AddRange(listaAlunoAvaliacaoTurmaDisciplina .Select(p => new AlunoFechamentoPendencia { tud_id = p.tud_id, tpc_id = (p.tpc_id > 0 ? p.tpc_id : tpc_idUltimoPeriodo), afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(p.atd_id <= 0 ? 0 : 2) }).ToList()); } } foreach (ACA_AlunoAnotacao alunoAnotacao in listaAlunoAnotacao) { ACA_AlunoAnotacaoBO.Save(alunoAnotacao, banco); } CLS_AlunoAvaliacaoTurmaDisciplinaBO.SaveAvaliacaoFinal( tur_id , entFormatoAvaliacao , listaDisciplina , tamanhoMaximoKB , TiposArquivosPermitidos , dataUltimaAlteracaoNotaFinal , listaMatriculaTurmaDisciplina , ref listaAtualizacaoEfetivacao , banco); if (entFormatoAvaliacao.fav_fechamentoAutomatico && listaMatriculaTurmaDisciplina.Any() && (tpc_idUltimoPeriodo > 0)) { FilaProcessamento.AddRange(listaMatriculaTurmaDisciplina .Select(p => new AlunoFechamentoPendencia { tud_id = p.tud_id, tpc_id = tpc_idUltimoPeriodo, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(p.mtd_id <= 0 ? 0 : 2) }).ToList()); } if (permiteEditarResultadoFinal) { // Se for passado o resultado, salva na MTR_MatriculaTurma. MTR_MatriculaTurma entMatr = new MTR_MatriculaTurma { alu_id = alu_id , mtu_id = mtu_id }; MTR_MatriculaTurmaBO.GetEntity(entMatr, banco); // So registra a alteracao do parecer conclusivo (resultado) // se for um registro novo e tem valor selecionado, ou se houve alteracao do valor. if ((entMatr.IsNew && entMatr.mtu_resultado > 0) || entMatr.mtu_resultado != resultado) { // Se o registro foi alterado depois da data da alteração mais recente no momento em que os dados foram carregados, // interrompe o salvamento e alerta o usuário de que é necessário atualizar os dados if (entMatr != null && !entMatr.IsNew && Convert.ToDateTime(entMatr.mtu_dataAlteracao.ToString()) > dataUltimaAlteracaoObservacao) { throw new ValidationException("Existe registro alterado mais recentemente, é necessário atualizar os dados."); } else { entMatr.usu_idResultado = usu_idLogado; entMatr.mtu_resultado = resultado; MTR_MatriculaTurmaBO.Save(entMatr, banco); if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.GERAR_HISTORICO_SALVAR_PARECER_CONCLUSIVO, ent_id)) { ACA_AlunoHistoricoBO.GeracaoHistoricoPedagogicoPorAluno(entMatr.alu_id, entMatr.mtu_id, banco); } if (entFormatoAvaliacao.fav_fechamentoAutomatico) { FilaProcessamento.Add(new AlunoFechamentoPendencia { tud_id = tud_ids.FirstOrDefault(), tpc_id = tpc_idUltimoPeriodo, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(entMatr.IsNew == true ? 0 : 2) }); } } } } // Limpa cache do fechamento, para atualizar o check, as notas pos-conselho, o parecer e a sintese final. string chave = string.Empty; int tpcId = -1; listaDadosPeriodo.ForEach(q => { // Fechamento de bimestre chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Periodo(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); if (HttpContext.Current != null) { HttpContext.Current.Cache.Remove(chave); } chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelect_ComponentesRegencia_By_TurmaFormato(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); CacheManager.Factory.Remove(chave); // Fechamento final chave = MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Final(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); if (HttpContext.Current != null) { HttpContext.Current.Cache.Remove(chave); } chave = MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelect_ComponentesRegencia_By_TurmaFormato_Final(tur_id, entFormatoAvaliacao.fav_id, q.ava_id); CacheManager.Factory.Remove(chave); // Fechamento automatico de bimestre if (dicAvaTpc.TryGetValue(q.ava_id, out tpcId)) { chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_COMPONENTES_REGENCIA_MODEL_KEY, tur_id, tpcId); CacheManager.Factory.Remove(chave); } // Fechamento automatico final chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_COMPONENTES_REGENCIA_MODEL_KEY, tur_id); CacheManager.Factory.Remove(chave); }); List <TUR_TurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, null, GestaoEscolarUtilBO.MinutosCacheLongo); listaDisciplinas.ForEach(p => { // Fechamento de bimestre chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_BIMESTRE_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_BIMESTRE_FILTRO_DEFICIENCIA_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); // Fechamento final chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_FINAL_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format("{0}_{1}_{2}", ModelCache.FECHAMENTO_FINAL_FILTRO_DEFICIENCIA_PATTERN_KEY, p.tud_id, entFormatoAvaliacao.fav_id); CacheManager.Factory.RemoveByPattern(chave); // Fechamento automatico final chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_MODEL_KEY, p.tud_id); CacheManager.Factory.Remove(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id); CacheManager.Factory.Remove(chave); listaDadosPeriodo.ForEach(q => { // Fechamento automatico de bimestre if (dicAvaTpc.TryGetValue(q.ava_id, out tpcId)) { chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_MODEL_KEY, p.tud_id, tpcId); CacheManager.Factory.Remove(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id, tpcId); CacheManager.Factory.Remove(chave); } }); }); // //Adiciona tuds para processamento de pendência de notas (quando salva o parecer final foreach (long tud in tud_ids.Where(t => !FilaProcessamento.Any(f => f.tud_id == t))) { FilaProcessamento.Add(new AlunoFechamentoPendencia { tud_id = tud, tpc_id = tpc_idUltimoPeriodo, afp_frequencia = false, afp_frequenciaExterna = false, afp_nota = true, afp_processado = (byte)2 }); } if (entFormatoAvaliacao.fav_fechamentoAutomatico && FilaProcessamento.Any(a => a.tpc_id > 0)) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias( FilaProcessamento .GroupBy(g => new { g.tud_id, g.tpc_id }) .Select(p => new AlunoFechamentoPendencia { tud_id = p.FirstOrDefault().tud_id, tpc_id = p.FirstOrDefault().tpc_id, afp_frequencia = p.FirstOrDefault().afp_frequencia, afp_nota = p.FirstOrDefault().afp_nota, afp_processado = FilaProcessamento .Where(w => w.tud_id == p.FirstOrDefault().tud_id&& w.tpc_id == p.FirstOrDefault().tpc_id) .Min(m => m.afp_processado) }) .Where(w => w.tpc_id > 0 && w.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)) .ToList() , banco); } return(true); } catch (ValidationException ex) { banco.Close(ex); throw; } catch (Exception ex) { banco.Close(ex); throw; } finally { if (banco.ConnectionIsOpen) { banco.Close(); } } }
/// <summary> /// O método salva as observações para conselho pedagógico. /// </summary> /// <param name="tur_id">ID da turma.</param> /// <param name="alu_id">ID do aluno.</param> /// <param name="mtu_id">ID da matrícula turma do aluno.</param> /// <param name="fav_id">ID do formato de avaliação.</param> /// <param name="ava_id">ID da avaliação.</param> /// <param name="ltObservacao">Lista de observações.</param> /// <param name="banco">Banco</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> /// <returns></returns> public static bool SalvarObservacao ( long tur_id, long alu_id, int mtu_id, int fav_id, int ava_id, CLS_AlunoAvaliacaoTur_Observacao observacao, Guid usu_idLogado, byte resultado, string justificativaResultado, DateTime dataUltimaAlteracaoObservacao, DateTime dataUltimaAlteracaoNotaFinal, ACA_FormatoAvaliacao entFormatoAvaliacao, List <CLS_AvaliacaoTurDisc_Cadastro> listaDisciplina, List <MTR_MatriculaTurmaDisciplina> listaMatriculaTurmaDisciplina, int tamanhoMaximoKB, string[] TiposArquivosPermitidos, ref List <CLS_AlunoAvaliacaoTurmaDisciplina> listaAtualizacaoEfetivacao, Guid ent_id, int tpc_id ) { TalkDBTransaction banco = new CLS_AlunoAvaliacaoTurmaObservacaoDAO()._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>(); try { if (observacao.entityObservacao != null && observacao.entityObservacao != new CLS_AlunoAvaliacaoTurmaObservacao()) { Save(observacao.entityObservacao, banco); } int tpc_idUtilizado = -1; List <CLS_AvaliacaoTurDisc_Cadastro> listaDisciplinasUltimoPeriodo = new List <CLS_AvaliacaoTurDisc_Cadastro>(); listaDisciplinasUltimoPeriodo = listaDisciplina.Where(d => d.entity.ava_id != ava_id).ToList(); if (listaDisciplinasUltimoPeriodo.Count > 0) { tpc_idUtilizado = ACA_AvaliacaoBO.SelecionaMaiorBimestre_ByFormatoAvaliacao(entFormatoAvaliacao.fav_id, banco); } CLS_AlunoAvaliacaoTurmaDisciplinaBO.SaveAvaliacaoFinal( tur_id , entFormatoAvaliacao , listaDisciplina , tamanhoMaximoKB , TiposArquivosPermitidos , dataUltimaAlteracaoNotaFinal , listaMatriculaTurmaDisciplina , ref listaAtualizacaoEfetivacao , banco); tpc_idUtilizado = tpc_idUtilizado > 0 ? tpc_idUtilizado : tpc_id; if (entFormatoAvaliacao.fav_fechamentoAutomatico && listaMatriculaTurmaDisciplina.Any()) { FilaProcessamento.AddRange(listaMatriculaTurmaDisciplina .Select(p => new AlunoFechamentoPendencia { tud_id = p.tud_id, tpc_id = tpc_idUtilizado, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(p.mtd_id <= 0 ? 0 : 2) }).ToList()); } // Se for passado o resultado, salva na MTR_MatriculaTurma. if (!usu_idLogado.Equals(Guid.Empty)) { MTR_MatriculaTurma entMatr = new MTR_MatriculaTurma { alu_id = alu_id , mtu_id = mtu_id }; MTR_MatriculaTurmaBO.GetEntity(entMatr, banco); // Se o registro foi alterado depois da data da alteração mais recente no momento em que os dados foram carregados, // interrompe o salvamento e alerta o usuário de que é necessário atualizar os dados if (entMatr != null && !entMatr.IsNew && Convert.ToDateTime(entMatr.mtu_dataAlteracao.ToString()) > dataUltimaAlteracaoObservacao) { throw new ValidationException("Existe registro alterado mais recentemente, é necessário atualizar os dados."); } else { entMatr.usu_idResultado = usu_idLogado; entMatr.mtu_resultado = resultado; entMatr.mtu_relatorio = justificativaResultado; MTR_MatriculaTurmaBO.Save(entMatr, banco); if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.GERAR_HISTORICO_SALVAR_PARECER_CONCLUSIVO, ent_id)) { ACA_AlunoHistoricoBO.GeracaoHistoricoPedagogicoPorAluno(entMatr.alu_id, entMatr.mtu_id, banco); } if (entFormatoAvaliacao.fav_fechamentoAutomatico) { FilaProcessamento.Add(new AlunoFechamentoPendencia { tud_id = listaMatriculaTurmaDisciplina.FirstOrDefault().tud_id, tpc_id = tpc_id, afp_frequencia = true, afp_nota = true, afp_processado = (Byte)(entMatr.IsNew == true ? 0 : 2) }); } } } // Limpa cache do fechamento, para atualizar o check. GestaoEscolarUtilBO.LimpaCache(MTR_MatriculaTurmaBO.RetornaChaveCache_GetSelectBy_Turma_Periodo(tur_id, fav_id, ava_id)); List <TUR_TurmaDisciplina> listaDisciplinas = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, null, GestaoEscolarUtilBO.MinutosCacheLongo); listaDisciplinas.ForEach(p => { GestaoEscolarUtilBO.LimpaCache(MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodo(p.tud_id, fav_id, ava_id, string.Empty)); GestaoEscolarUtilBO.LimpaCache(MTR_MatriculaTurmaDisciplinaBO.RetornaChaveCache_GetSelectBy_TurmaDisciplinaPeriodoFiltroDeficiencia(p.tud_id, fav_id, ava_id, string.Empty)); // Chaves do fechamento automatico string chave = string.Empty; chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_MODEL_KEY, p.tud_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_MODEL_KEY, p.tud_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_MODEL_KEY, p.tud_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_BIMESTRE_COMPONENTES_REGENCIA_MODEL_KEY, tur_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); chave = String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_COMPONENTES_REGENCIA_MODEL_KEY, tur_id, tpc_id); CacheManager.Factory.RemoveByPattern(chave); // }); if (entFormatoAvaliacao.fav_fechamentoAutomatico && FilaProcessamento.Any(a => a.tpc_id > 0)) { CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias( FilaProcessamento .GroupBy(g => new { g.tud_id, g.tpc_id }) .Select(p => new AlunoFechamentoPendencia { tud_id = p.FirstOrDefault().tud_id, tpc_id = p.FirstOrDefault().tpc_id, afp_frequencia = p.FirstOrDefault().afp_frequencia, afp_nota = p.FirstOrDefault().afp_nota, afp_processado = FilaProcessamento .Where(w => w.tud_id == p.FirstOrDefault().tud_id&& w.tpc_id == p.FirstOrDefault().tpc_id) .Min(m => m.afp_processado) }) .Where(w => w.tpc_id > 0 && w.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, ent_id)) .ToList() , banco); } return(true); } catch (ValidationException ex) { banco.Close(ex); throw; } catch (Exception ex) { banco.Close(ex); throw; } finally { if (banco.ConnectionIsOpen) { banco.Close(); } } }