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); } } }
protected List <string> RetornarListaCahveCacheRelatorioPendencias(HttpContext context) { string[] esc_ids = context.Request.QueryString["esc_ids"].ToString().Split(';'); string[] uni_ids = context.Request.QueryString["uni_ids"].ToString().Split(';'); string[] cal_ids = context.Request.QueryString["cal_ids"].ToString().Split(';'); string[] tud_ids = context.Request.QueryString["tud_ids"].ToString().Split(';'); List <string> ltChaves = new List <string>(); List <ACA_CalendarioAnual> lstCalendario = ACA_CalendarioAnualBO.GetSelect().ToList(); for (int i = 0; i < tud_ids.Length; i++) { ltChaves.Add(String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_MODEL_KEY, tud_ids[i])); ltChaves.Add(String.Format(ModelCache.FECHAMENTO_AUTO_FINAL_FILTRO_DEFICIENCIA_MODEL_KEY, tud_ids[i])); if (lstCalendario.Any(p => p.cal_id.ToString() == cal_ids[i])) { int cal_ano = lstCalendario.First(p => p.cal_id.ToString() == cal_ids[i]).cal_ano; ltChaves.Add(String.Format(ModelCache.PENDENCIAS_DISCIPLINA_MODEL_KEY, esc_ids[i], uni_ids[i], cal_ano, tud_ids[i])); } } return(ltChaves); }
public HttpResponseMessage GetCalendarioAnual() { try { var lst = ACA_CalendarioAnualBO.SelecionaCalendarioAnual(__userLogged.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo, __userLogged.Docente.doc_id, __userLogged.Usuario.usu_id, __userLogged.Grupo.gru_id); string selecionado = string.Empty; if (lst.Where(c => Convert.ToInt32(c.cal_ano) >= DateTime.Today.Year).Count() == 1) { selecionado = lst.Where(c => Convert.ToInt32(c.cal_ano) >= DateTime.Today.Year).First().cal_id; } Calendarios ret = new Calendarios { lista = lst.Select(p => new jsonObject { id = p.cal_id.ToString(), text = p.cal_ano_desc }), idSelecionado = selecionado }; return(Request.CreateResponse(HttpStatusCode.OK, ret)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
/// <summary> /// Mostra os anos de momentos cadastrados dentro da entidade. /// </summary> /// <param name="ent_id">Entidade - obrigatório</param> /// <param name="mom_ano">Ano - opcional</param> /// <returns></returns> public void CarregarAnoAtual() { try { DataTable dt = ACA_CalendarioAnualBO.SelecionarAnosLetivos(); ddlCombo.DataSource = (from DataRow ano in dt.Rows orderby Convert.ToInt32(ano["cal_ano"]) descending select new { cal_ano = ano["cal_ano"].ToString() }).ToList(); ddlCombo.DataBind(); if (ddlCombo.Items.Count > 0) { if (ddlCombo.Items.Contains(new ListItem(DateTime.Now.Year.ToString(), DateTime.Now.Year.ToString()))) { ddlCombo.SelectedValue = DateTime.Now.Year.ToString(); } else { ddlCombo.SelectedIndex = 0; } } } catch { throw; } }
/// <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> /// 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); } }
protected void btnImprimir_Click(object sender, EventArgs e) { try { string parameter = string.Empty; string report = string.Empty; if (!ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.RELATORIO_ANOTACAO_GERAL_BUSCA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { // SME-SP report = ((int)ReportNameGestaoAcademicaDocumentosDocente.DocDctRelAnotacoesAula).ToString(); parameter = "esc_id=" + VS_esc_id + "&cal_id=" + VS_cal_id + "&cur_id=" + VS_cur_id + "&tur_id=" + VS_tur_id + "&cap_id=" + -1 + "&tud_id=" + -1 + "&doc_id=" + -1 + "&dataAula=" + -1 + "&nomePeriodoCalendario=" + GestaoEscolarUtilBO.nomePadraoPeriodo_Calendario(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + "&nomeDisciplina=" + GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + "&alu_id=" + _VS_alu_id + "&mostraCodigoEscola=" + ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + "&nomeMunicipio=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoPaisagem.Municipio") + "&nomeSecretaria=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctSubCabecalhoPaisagem.Secretaria") + "&lblCodigoEOL2=" + GetGlobalResourceObject("Reporting", "Reporting.DocDctRelAnotacoesAula.lblCodigoEOL2.label") + "&logo=" + String.Concat(MSTech.GestaoEscolar.BLL.CFG_ServidorRelatorioBO.CarregarCredencialServidorPorRelatorio(__SessionWEB.__UsuarioWEB.Usuario.ent_id, Convert.ToInt32(report)).srr_pastaRelatorios.ToString() , ApplicationWEB.LogoRelatorioSSRS) + "&cal_ano=" + VS_cal_ano.ToString() + "&documentoOficial=false"; } else { // demais clientes report = ((int)MSTech.GestaoEscolar.BLL.ReportNameGestaoAcademica.GestaoAcademicaAnotacoes).ToString(); parameter = "alu_id=" + _VS_alu_id + "&cal_ano=" + ACA_CalendarioAnualBO.SelecionaPorTurma(VS_tur_id).cal_ano + "&matricula=" + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA").ToString() + "&usu_id=" + __SessionWEB.__UsuarioWEB.Usuario.usu_id.ToString() + "&usuario_superior=" + (__SessionWEB.__UsuarioWEB.Docente.doc_id == 0).ToString() + "&ordenaPorCodigo=" + ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + "&ent_id=" + __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString() + "&atg_tipo=" + ((int)ACA_AvisoTextoGeralBO.eTiposAvisosTextosGerais.CabecalhoRelatorio).ToString() + "&logo=" + String.Concat(MSTech.GestaoEscolar.BLL.CFG_ServidorRelatorioBO.CarregarServidorRelatorioPorEntidade(__SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo).srr_pastaRelatorios.ToString(), ApplicationWEB.LogoRelatorioSSRS); } Session["PaginaRetorno_AnotacoesAluno"] = VS_PaginaRetorno; Session["DadosPaginaRetorno"] = VS_DadosPaginaRetorno; Session["VS_DadosTurmas"] = VS_DadosPaginaRetorno_MinhasTurmas; Session["tud_id_anotacoes"] = VS_tud_id > 0 ? (object)VS_tud_id : null; Session["alu_id_anotacoes"] = _VS_alu_id; Session["mtu_id_anotacoes"] = VS_mtu_id; CFG_RelatorioBO.CallReport("Documentos", report, parameter, HttpContext.Current); } catch (Exception error) { ApplicationWEB._GravaErro(error); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar gerar relatório de anotações sobre o aluno.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Mostra os anos de momentos cadastrados dentro da entidade. /// </summary> /// <param name="ent_id">Entidade - obrigatório</param> /// <param name="mom_ano">Ano - opcional</param> /// <returns></returns> public void Carregar() { try { ddlCombo.DataSource = ACA_CalendarioAnualBO.SelecionarAnosLetivos(); _MostrarMessageSelecione = true; ddlCombo.DataBind(); } catch { throw; } }
/// <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); } }
public HttpResponseMessage GetCalendariosAnuais() { try { var lst = ACA_CalendarioAnualBO.SelecionarAnosLetivos(); return(Request.CreateResponse(HttpStatusCode.OK, (from DataRow dr in lst.Rows select Convert.ToInt32(dr["cal_ano"])) )); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
/// <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> /// Mostra os dados não excluídos logicamente no dropdownlist /// </summary> public void CarregarCalendarioAnual() { //Se for visão de docente carrega apenas os calendários que o docente tem acesso if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Individual && __SessionWEB.__UsuarioWEB.Docente != null && __SessionWEB.__UsuarioWEB.Docente.doc_id > 0) { SelecionarAnoCorrente = true; CarregarCombo(ACA_CalendarioAnualBO.SelecionaCalendarioAnual(__SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Docente.doc_id, ApplicationWEB.AppMinutosCacheLongo)); } //Se for visão de unidade escolar carrega apenas os calendários ligados aos cursos da escola else if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa) { SelecionarAnoCorrente = true; CarregarCombo(ACA_CalendarioAnualBO.SelecionaCalendarioAnual(__SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Usuario.usu_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, ApplicationWEB.AppMinutosCacheLongo)); } //Carrega todos os calendários else { CarregarCombo(ACA_CalendarioAnualBO.SelecionaCalendarioAnual(__SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo)); } }
/// <summary> /// Carrega todos os calendários não excluídos logicamente /// </summary> public void CarregarCalendarioAnualAnoAtualEscola(int esc_id) { List <sComboCalendario> lstCalendario = new List <sComboCalendario>(); //Se for visão de docente carrega apenas os calendários que o docente tem acesso if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Individual && __SessionWEB.__UsuarioWEB.Docente != null && __SessionWEB.__UsuarioWEB.Docente.doc_id > 0) { SelecionarAnoCorrente = true; lstCalendario = ACA_CalendarioAnualBO.SelecionaCalendarioAnual_Esc_id(esc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Docente.doc_id, ApplicationWEB.AppMinutosCacheLongo); } //Se for visão de unidade escolar carrega apenas os calendários ligados aos cursos da escola else if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa) { SelecionarAnoCorrente = true; lstCalendario = ACA_CalendarioAnualBO.SelecionaCalendarioAnual_Esc_id(esc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Usuario.usu_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, ApplicationWEB.AppMinutosCacheLongo); } //Carrega todos os calendários else { lstCalendario = ACA_CalendarioAnualBO.SelecionaCalendarioAnual_Esc_id(esc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo); } if (lstCalendario.Any()) { if (lstCalendario.Any(c => Convert.ToInt32(c.cal_ano) >= DateTime.Today.Year)) { lstCalendario = lstCalendario.Where(c => Convert.ToInt32(c.cal_ano) >= DateTime.Today.Year).ToList(); } else { lstCalendario = lstCalendario.Where(c => Convert.ToInt32(c.cal_ano) == Convert.ToInt32(lstCalendario.OrderBy(p => p.cal_ano).LastOrDefault().cal_ano)).ToList(); } } CarregarCombo(lstCalendario.AsEnumerable() .Select(p => new { cal_ano_desc = p.cal_ano_desc.ToString() , cal_id = p.cal_id.ToString() })); }
/// <summary> /// Carrega os calendarios com bimestres ativos por entidade e escola /// </summary> /// <param name="esc_id">ID da escola</param> /// <param name="VerificaEscolaCalendarioPeriodo">Informa se irá selecionar todos os dados conforme os filtros (false) /// ou se irá selecionar apenas os dados que não estão na tabela ESC_EscolaCalendarioPeriodo (true)</param> /// <returns></returns> public void CarregarCalendariosComBimestresAtivos(int esc_id, bool VerificaEscolaCalendarioPeriodo) { //Se for visão de docente carrega apenas os calendários que o docente tem acesso if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Individual && __SessionWEB.__UsuarioWEB.Docente != null && __SessionWEB.__UsuarioWEB.Docente.doc_id > 0) { SelecionarAnoCorrente = true; CarregarCombo(ACA_CalendarioAnualBO.SelecionaCalendariosComBimestresAberto_Por_EntidadeEscola(__SessionWEB.__UsuarioWEB.Usuario.ent_id, esc_id, VerificaEscolaCalendarioPeriodo, __SessionWEB.__UsuarioWEB.Docente.doc_id)); } //Se for visão de unidade escolar carrega apenas os calendários ligados aos cursos da escola else if (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa) { SelecionarAnoCorrente = true; CarregarCombo(ACA_CalendarioAnualBO.SelecionaCalendariosComBimestresAberto_Por_EntidadeEscola(__SessionWEB.__UsuarioWEB.Usuario.ent_id, esc_id, VerificaEscolaCalendarioPeriodo, __SessionWEB.__UsuarioWEB.Usuario.usu_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id)); } //Carrega todos os calendários else { CarregarCombo(ACA_CalendarioAnualBO.SelecionaCalendariosComBimestresAberto_Por_EntidadeEscola(__SessionWEB.__UsuarioWEB.Usuario.ent_id, esc_id, VerificaEscolaCalendarioPeriodo)); } }
protected void _dgvCalendarioAnual_DataBound(object sender, EventArgs e) { UCTotalRegistros1.Total = ACA_CalendarioAnualBO.GetTotalRecords(); ConfiguraColunasOrdenacao(_dgvCalendarioAnual); if ((!string.IsNullOrEmpty(_dgvCalendarioAnual.SortExpression)) && (__SessionWEB.BuscaRealizada.PaginaBusca == PaginaGestao.CalendarioAnual)) { Dictionary <string, string> filtros = __SessionWEB.BuscaRealizada.Filtros; if (filtros.ContainsKey("VS_Ordenacao")) { filtros["VS_Ordenacao"] = _dgvCalendarioAnual.SortExpression; } else { filtros.Add("VS_Ordenacao", _dgvCalendarioAnual.SortExpression); } if (filtros.ContainsKey("VS_SortDirection")) { filtros["VS_SortDirection"] = _dgvCalendarioAnual.SortDirection.ToString(); } else { filtros.Add("VS_SortDirection", _dgvCalendarioAnual.SortDirection.ToString()); } __SessionWEB.BuscaRealizada = new BuscaGestao { PaginaBusca = PaginaGestao.CalendarioAnual , Filtros = filtros }; } }
/// <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; }
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> /// 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); } }
/// <summary> /// Salva o calendário anual /// </summary> public void Salvar() { try { DataTable CalendarioPeriodico = new DataTable(); int valida = ValidaCampos(); if (valida != 1) { if (valida == 0) { CalendarioPeriodico = dtCalendarioPeriodo(listCalendarioPeriodo()); } ACA_CalendarioAnual _calendarioAnual = new ACA_CalendarioAnual { ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id , cal_id = _VS_cal_id , cal_padrao = true , cal_ano = Convert.ToInt32(_txtAno.Text) , cal_descricao = _txtDescricao.Text , cal_dataInicio = Convert.ToDateTime(_txtDataInicio.Text) , cal_dataFim = Convert.ToDateTime(_txtDataFim.Text) , cal_permiteLancamentoRecesso = ckbPermiteRecesso.Checked , cal_situacao = 1 , IsNew = (_VS_cal_id > 0) ? false : true }; List <ACA_CalendarioCurso> ListaCursoCurriculo = CriarListaCalendarioCurso(); if (ACA_CalendarioAnualBO.Save(_calendarioAnual, CalendarioPeriodico, ListaCursoCurriculo, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { if (_VS_cal_id <= 0) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "cal_id: " + _calendarioAnual.cal_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Calendário escolar incluído com sucesso.", UtilBO.TipoMensagem.Sucesso); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "cal_id: " + _calendarioAnual.cal_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Calendário escolar alterado com sucesso.", UtilBO.TipoMensagem.Sucesso); } Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o calendário escolar.", UtilBO.TipoMensagem.Erro); } } } catch (MSTech.Validation.Exceptions.ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (ArgumentException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o calendário escolar.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Processa os protocolos informados. /// </summary> /// <param name="ltProtocolo">Lista de protocolos em processamento.</param> /// <param name="tentativasProtocolo">Quantidade máxima de tentativas para processar protocolos.</param> /// <returns></returns> public static bool ProcessarProtocoloCompensacao(List <DCL_Protocolo> ltProtocolo, int tentativasProtocolo) { DataTable dtProtocolo = DCL_Protocolo.TipoTabela_Protocolo(); foreach (DCL_Protocolo protocolo in ltProtocolo.Where(pro => pro.pro_tentativa > tentativasProtocolo)) { protocolo.pro_statusObservacao = String.Format("Número máximo ({0}) de tentativas de processamento deste protocolo foram excedidas. Erro: {1}" , tentativasProtocolo, protocolo.pro_statusObservacao); protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErrosValidacao; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); } foreach (DCL_Protocolo protocolo in ltProtocolo.Where(pro => pro.pro_tentativa <= tentativasProtocolo)) { // Abre uma transação para cada protocolo dentro do laço. // Assim é possível processar o próximo protocolo, mesmo que o atual esteja com erro. TalkDBTransaction bancoSincronizacao = new CLS_TurmaAulaDAO()._Banco.CopyThisInstance(); bancoSincronizacao.Open(IsolationLevel.ReadCommitted); bool processou = false; try { if (protocolo.pro_tentativa <= tentativasProtocolo) { JObject json = JObject.Parse(protocolo.pro_pacote); JArray compensacoes = ((JArray)json.SelectToken("CompensacaoFalta") ?? new JArray()); foreach (JObject compensacao in compensacoes) { long tud_id = Convert.ToInt64(compensacao.SelectToken("tud_id")); ACA_FormatoAvaliacao formatoAvaliacao = ACA_FormatoAvaliacaoBO.CarregarPorTud(tud_id); ACA_CalendarioAnual cal = ACA_CalendarioAnualBO.SelecionaPorTurmaDisciplina(tud_id, bancoSincronizacao); // apenas protocolos de turmas ativas e do ano letivo corrente podem ser processados if (!DCL_ProtocoloBO.PodeProcessarProtocolo(0, tud_id)) { throw new ValidationException("O protocolo pertence a uma turma que não esta ativa ou de um ano letivo diferente do corrente, não pode ser processado!"); } int cpa_id = Convert.ToInt32(compensacao.SelectToken("cpa_id")); int quantidadeAulasCompensadas = Convert.ToInt32(compensacao.SelectToken("cpa_quantidadeAulasCompensadas")); DateTime cpa_dataAlteracao = Convert.ToDateTime(compensacao.SelectToken("cpa_dataAlteracao")); CLS_CompensacaoAusencia compensacaoAusencia; long pro_protocoloCriacao = (long)(compensacao.GetValue("pro_protocolo", StringComparison.OrdinalIgnoreCase) ?? "0"); if (cpa_id > 0 || pro_protocoloCriacao <= 0) { compensacaoAusencia = new CLS_CompensacaoAusencia { tud_id = tud_id, cpa_id = cpa_id }; GetEntity(compensacaoAusencia, bancoSincronizacao); } else { List <DCL_Protocolo> protocoloCriacaoCompensacao = DCL_ProtocoloBO.SelectBy_Protocolos(pro_protocoloCriacao.ToString()); Guid pro_idCriacao = protocoloCriacaoCompensacao.Count() > 0 ? protocoloCriacaoCompensacao[0].pro_id : Guid.Empty; compensacaoAusencia = SelectByDisciplinaProtocolo(tud_id, pro_idCriacao); if (!compensacaoAusencia.IsNew) { compensacaoAusencia.pro_id = protocolo.pro_id; } } if (compensacaoAusencia.IsNew) { compensacaoAusencia.cpa_id = -1; compensacaoAusencia.cpa_dataCriacao = DateTime.Now; compensacaoAusencia.pro_id = protocolo.pro_id; } else if (!compensacaoAusencia.IsNew && (cpa_dataAlteracao < compensacaoAusencia.cpa_dataAlteracao)) { throw new ValidationException("Compensação existe e foi alterada mais recentemente."); } compensacaoAusencia.tpc_id = Convert.ToInt32(compensacao.SelectToken("tpc_id")); compensacaoAusencia.cpa_quantidadeAulasCompensadas = quantidadeAulasCompensadas; compensacaoAusencia.cpa_atividadesDesenvolvidas = Convert.ToString(compensacao.SelectToken("cpa_atividadesDesenvolvidas")); compensacaoAusencia.cpa_situacao = Convert.ToInt16(compensacao.SelectToken("cpa_situacao")); compensacaoAusencia.cpa_dataAlteracao = DateTime.Now; if (compensacaoAusencia.cpa_situacao != 3) { JArray arrayAlunos = ((JArray)compensacao.SelectToken("AlunosCompensados") ?? new JArray()); List <CLS_CompensacaoAusenciaAluno> listaAlunos = new List <CLS_CompensacaoAusenciaAluno>(); foreach (JObject jsonAluno in arrayAlunos) { int alu_id = Convert.ToInt32(jsonAluno.SelectToken("alu_id")); MTR_MatriculaTurmaDisciplina matricula = MTR_MatriculaTurmaDisciplinaBO.BuscarPorAlunoTurmaDisciplina(alu_id, tud_id, bancoSincronizacao); CLS_CompensacaoAusenciaAluno compensacaoAluno = new CLS_CompensacaoAusenciaAluno { tud_id = tud_id, cpa_id = compensacaoAusencia.cpa_id, alu_id = alu_id, mtu_id = matricula.mtu_id, mtd_id = matricula.mtd_id }; CLS_CompensacaoAusenciaAlunoBO.GetEntity(compensacaoAluno); if (compensacaoAluno.IsNew) { compensacaoAluno.caa_dataCriacao = DateTime.Now; } compensacaoAluno.caa_situacao = 1; compensacaoAluno.caa_dataAlteracao = DateTime.Now; listaAlunos.Add(compensacaoAluno); } processou = Save(compensacaoAusencia, listaAlunos, formatoAvaliacao.fav_fechamentoAutomatico, cal.cal_id, bancoSincronizacao); } else { // persistindo os dados. processou = true; // Caso o fechamento seja automático, grava na fila de processamento. if (formatoAvaliacao.fav_fechamentoAutomatico && compensacaoAusencia.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, new Guid())) { processou &= CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(compensacaoAusencia.tud_id, compensacaoAusencia.tpc_id, bancoSincronizacao); } processou &= Delete(compensacaoAusencia, bancoSincronizacao); } } } // Processou com sucesso. protocolo.pro_statusObservacao = String.Format("Protocolo processado com sucesso ({0}).", DateTime.Now.ToString("dd/MM/yyyy HH:mm")); protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComSucesso; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); } catch (ArgumentException ex) { // Se ocorrer uma excessão de validação, guardar novo status. protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErrosValidacao; protocolo.pro_statusObservacao = ex.Message; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); bancoSincronizacao.Close(ex); } catch (ValidationException ex) { // Se ocorrer uma excessão de validação, guardar novo status. protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErrosValidacao; protocolo.pro_statusObservacao = ex.Message; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); bancoSincronizacao.Close(ex); } catch (Exception ex) { // Se ocorrer uma excessão de erro, guardar novo status. protocolo.pro_status = (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErro; protocolo.pro_statusObservacao = ex.Message; protocolo.tur_id = -1; protocolo.tud_id = -1; protocolo.tau_id = -1; protocolo.pro_qtdeAlunos = -1; dtProtocolo.Rows.Add(DCL_ProtocoloBO.ProtocoloToDataRow(protocolo, dtProtocolo.NewRow())); bancoSincronizacao.Close(ex); } finally { if (bancoSincronizacao.ConnectionIsOpen) { bancoSincronizacao.Close(); } } } DCL_ProtocoloBO.AtualizaProtocolos(dtProtocolo); return(true); }
/// <summary> /// Carrega todos os calendários não excluídos logicamente /// filtrando por docente (turmas que o docente está atribuído) /// </summary> /// <param name="doc_id">ID do docente</param> public void CarregarPorDocente(long doc_id) { CarregarCombo(ACA_CalendarioAnualBO.SelecionaCalendarioAnualPorDocente(doc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo)); }
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(); } } }