Beispiel #1
0
        /// <summary>
        /// Carrega unidades administrativas apartir
        /// do tipo de unidade administrativa passada por parâmetro.
        /// </summary>
        /// <param name="tua_id">Id do tipo de unidade administrativa</param>
        private void CarregaUnidadesAdministrativasSuperior(Guid tua_id)
        {
            List <sComboUAEscola> dt;

            // Verifica se obrigatório filtrar por permissãod e usuário.
            if (PermissaoUsuario)
            {
                dt = ESC_UnidadeEscolaBO.GetSelectBy_Pesquisa_PermissaoUsuario_Cache(
                    tua_id,
                    __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                    __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                    __SessionWEB.__UsuarioWEB.Usuario.usu_id,
                    0,
                    Guid.Empty,
                    ApplicationWEB.AppMinutosCacheLongo);
            }
            else
            {
                dt = ESC_UnidadeEscolaBO.GetSelectBy_PesquisaTodos_Cache(
                    tua_id,
                    __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                    ApplicationWEB.AppMinutosCacheLongo);
            }

            ddlUA.Items.Clear();
            ddlUA.DataSource          = dt;
            MostrarMessageSelecioneUA = true;
            ddlUA.DataBind();

            SelecionaPrimeiroItemUA();
        }
Beispiel #2
0
        public HttpResponseMessage GetDiretorias()
        {
            try
            {
                Diretoria diretoria = new Diretoria();
                if ((__userLogged.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa) ||
                    !ACA_ParametroAcademicoBO.VerificaFiltroUniAdmSuperiorPorEntidade(__userLogged.Usuario.ent_id))
                {
                    diretoria.visible = false;
                }
                else
                {
                    Guid tua_id = ACA_ParametroAcademicoBO.VerificaFiltroEscolaPorEntidade(__userLogged.Usuario.ent_id);
                    var  lst    = ESC_UnidadeEscolaBO.GetSelectBy_PesquisaTodos_Cache(
                        tua_id,
                        __userLogged.Usuario.ent_id,
                        ApplicationWEB.AppMinutosCacheLongo);
                    diretoria.visible    = true;
                    diretoria.diretorias = lst.Select(p => new jsonObject {
                        id = p.uad_id.ToString(), text = p.uad_nome
                    }).ToList();
                }

                return(Request.CreateResponse(HttpStatusCode.OK, diretoria));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Beispiel #3
0
        public HttpResponseMessage GetEscolasByFilter(bool?escolasControladas)
        {
            try
            {
                List <sComboUAEscola> lst = new List <sComboUAEscola>();

                lst = ESC_UnidadeEscolaBO.SelecionaEscolasControladas(__userLogged.Usuario.ent_id
                                                                      , __userLogged.Grupo.gru_id
                                                                      , __userLogged.Usuario.usu_id
                                                                      , esc_controleSistema: escolasControladas
                                                                      , appMinutosCacheLongo: ApplicationWEB.AppMinutosCacheLongo);

                return(Request.CreateResponse(HttpStatusCode.OK, lst.Select(p => new Escola
                {
                    id = p.esc_id.ToString(),
                    unidadeId = p.uni_id.ToString(),
                    text = p.uni_escolaNome
                })));
            }
            catch (ArgumentException ex)
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized, ex.Message));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Beispiel #4
0
        /// <summary>
        /// Carrega unidades escolares.
        /// </summary>
        private void CarregaUnidadesEscolas()
        {
            List <sComboUAEscola> dt;

            if (PermissaoUsuario)
            {
                if (FiltroEscolasControladas.HasValue)
                {
                    dt = ESC_UnidadeEscolaBO.SelecionaEscolasControladas(
                        __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                        __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                        __SessionWEB.__UsuarioWEB.Usuario.usu_id,
                        FiltroEscolasControladas.Value,
                        ApplicationWEB.AppMinutosCacheLongo);
                }
                else
                {
                    dt = ESC_UnidadeEscolaBO.GetSelect_Cache(
                        0,
                        0,
                        0,
                        __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                        __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                        __SessionWEB.__UsuarioWEB.Usuario.usu_id,
                        ApplicationWEB.AppMinutosCacheLongo);
                }
            }
            else
            {
                dt = ESC_UnidadeEscolaBO.GetSelectPermissaoTotal_Cache(__SessionWEB.__UsuarioWEB.Usuario.ent_id, false, null, ApplicationWEB.AppMinutosCacheLongo);
            }

            if (VS_EscolasPapeis.Any())
            {
                dt = dt.Where(p => VS_EscolasPapeis.Any(e => e == p.esc_id)).ToList();
            }

            ddlUnidadeEscola.Items.Clear();
            ddlUnidadeEscola.DataSource   = dt;
            MostrarMessageSelecioneEscola = true;
            ddlUnidadeEscola.DataBind();

            // Configura combo de escolas, caso possui apenas uma opção
            if (QuantidadeItemsComboEscolas == 2)
            {
                ddlUnidadeEscola.SelectedValue = ddlUnidadeEscola.Items[1].Value;
                if (IndexChangedUnidadeEscola != null)
                {
                    IndexChangedUnidadeEscola();
                }
            }
        }
Beispiel #5
0
        public List <sComboUAEscola> GetPorUsuarioUASuperior(Guid uad_idSuperior, Guid ent_id, Guid gru_id, Guid usu_id)
        {
            try
            {
                return(ESC_UnidadeEscolaBO.GetSelectAtivosByUASuperior(uad_idSuperior, ent_id, gru_id, usu_id));
            }
            catch (Exception e)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content = new StringContent("Erro: " + e.Message)
                });
            }

            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
Beispiel #6
0
        /// <summary>
        /// Carrega unidades escolares a partir do código docente e entidade
        /// Utilizado nas telas: Documentos do docente, Atribuição do docente, Compensação de Ausências.
        /// </summary>
        /// <param name="doc_id">Código do docente</param>
        /// <param name="ent_id">Código da entidade</param>
        /// <param name="vinculoColaboradorCargo">0 - Busca as escolas pelas atribuições de turma docente do docente
        ///                                       1 - Busca as escolas do docente pelo vinculo de colaborador cargo
        ///                                       2 - Busca escolas do docente com vigência na escola</param>
        private void CarregaUnidadesEscolasVisaoIndividual(Int64 doc_id, Guid ent_id, Byte vinculoColaboradorCargo)
        {
            List <sComboUAEscola> dt = ESC_UnidadeEscolaBO.GetSelectEscolas_VisaoIndividual(doc_id, ent_id, vinculoColaboradorCargo, ApplicationWEB.AppMinutosCacheLongo);

            if (VS_EscolasPapeis.Any())
            {
                dt = dt.Where(p => VS_EscolasPapeis.Any(e => e == p.esc_id)).ToList();
            }

            ddlUnidadeEscola.Items.Clear();
            ddlUnidadeEscola.DataSource   = dt;
            MostrarMessageSelecioneEscola = true;
            ddlUnidadeEscola.DataBind();

            // Configura combo de escolas, caso possui apenas uma opção
            SelecionaPrimeiroItemEscola();
        }
Beispiel #7
0
        /// <summary>
        /// Carrega unidades escolares sem acesso
        /// </summary>
        /// <param name="uad_idSuperior">Id da unidade administrativa superior</param>
        /// <param name="cal_id">Calendario</param>
        /// <param name="tpc_id">Periodo</param>
        public void CarregaUnidadesEscolaresSemAcesso(Guid uad_idSuperior, int cal_id, int tpc_id)
        {
            List <sComboUAEscola> dt;
            byte uni_Situacao = MostraApenasAtivas ? (byte)1 : (byte)0;

            // Verifica se obrigatório filtrar por permissão de usuário.
            if (PermissaoUsuario)
            {
                dt = ESC_UnidadeEscolaBO.GetSelectBySemAcesso(
                    uad_idSuperior,
                    cal_id,
                    tpc_id,
                    __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                    __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                    __SessionWEB.__UsuarioWEB.Usuario.usu_id,
                    uni_Situacao,
                    ApplicationWEB.AppMinutosCacheLongo);
            }
            else
            {
                dt = ESC_UnidadeEscolaBO.GetSelectBySemAcessoPermissaoTotal(
                    uad_idSuperior,
                    cal_id,
                    tpc_id,
                    __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                    true, uni_Situacao,
                    ApplicationWEB.AppMinutosCacheLongo);
            }

            if (VS_EscolasPapeis.Any())
            {
                dt = dt.Where(p => VS_EscolasPapeis.Any(e => e == p.esc_id)).ToList();
            }

            ddlUnidadeEscola.DataTextField = "esc_uni_nome";

            ddlUnidadeEscola.Items.Clear();
            ddlUnidadeEscola.DataSource   = dt;
            MostrarMessageSelecioneEscola = true;
            ddlUnidadeEscola.DataBind();

            SelecionaPrimeiroItemEscola();
        }
Beispiel #8
0
        public HttpResponseMessage GetEscolas(Guid?diretoriaId = null)
        {
            try
            {
                List <sComboUAEscola> lst = new List <sComboUAEscola>();
                if ((__userLogged.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa) ||
                    !ACA_ParametroAcademicoBO.VerificaFiltroUniAdmSuperiorPorEntidade(__userLogged.Usuario.ent_id))
                {
                    lst = ESC_UnidadeEscolaBO.SelecionaEscolasControladas(
                        __userLogged.Usuario.ent_id,
                        __userLogged.Grupo.gru_id,
                        __userLogged.Usuario.usu_id,
                        true,
                        ApplicationWEB.AppMinutosCacheLongo);
                }
                else
                {
                    lst = ESC_UnidadeEscolaBO.SelecionaEscolasControladasPorUASuperior(
                        diretoriaId == null ? Guid.Empty : diretoriaId.Value,
                        __userLogged.Usuario.ent_id,
                        __userLogged.Grupo.gru_id,
                        __userLogged.Usuario.usu_id,
                        (byte)1,
                        true,
                        ApplicationWEB.AppMinutosCacheLongo);
                }

                return(Request.CreateResponse(HttpStatusCode.OK,
                                              lst.Select(p => new Escola
                {
                    id = p.esc_id.ToString(),
                    unidadeId = p.uni_id.ToString(),
                    text = p.uni_escolaNome
                })
                                              ));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Beispiel #9
0
        /// <summary>
        /// Exclusão de uma atribuição esporádica, verificando se tem aula criada na data de sua atribuição.
        /// </summary>
        /// <param name="entidade"></param>
        /// <returns></returns>
        public static bool ExcluirAtribuicaoEsporadica
            (RHU_ColaboradorCargo entidade, long doc_id, Guid ent_id)
        {
            DataTable dtAulas = CLS_TurmaAulaBO.PesquisaPor_AtribuicaoEsporadica(entidade.col_id, entidade.crg_id, entidade.coc_id, null);

            if (dtAulas.Rows.Count > 0)
            {
                throw new ValidationException("Não é possível excluir essa atribuição esporádica, pois o(a) docente fez registros de aula neste período.");
            }

            if (Delete(entidade))
            {
                // Limpar cache para a tela de atribuição de docentes.
                GestaoEscolarUtilBO.LimpaCache(ESC_UnidadeEscolaBO.RetornaChaveCache_SelectEscolas_VisaoIndividual(doc_id, ent_id, 1));
                GestaoEscolarUtilBO.LimpaCache(ESC_UnidadeEscolaBO.RetornaChaveCache_SelectEscolas_VisaoIndividual(doc_id, ent_id, 0));
                GestaoEscolarUtilBO.LimpaCache(ESC_UnidadeEscolaBO.RetornaChaveCache_SelectEscolas_VisaoIndividual(doc_id, ent_id, 2));

                return(true);
            }

            return(false);
        }
Beispiel #10
0
        /// <summary>
        /// Remove do cache a entidade.
        /// </summary>
        /// <param name="entity"></param>
        public static void LimpaCache(TUR_TurmaDocente entity, Guid ent_id, Int64 tur_id = 0)
        {
            if (HttpContext.Current != null)
            {
                // Chave padrão do cache - nome do método + parâmetros.
                HttpContext.Current.Cache.Remove(RetornaChaveCache_SelecionaPosicaoPorDocenteTurma(entity.doc_id, entity.tud_id));
                HttpContext.Current.Cache.Remove(RetornaChaveCache_SelecionaPosicaoPorDocenteTurma_ComInativos(entity.doc_id, entity.tud_id));
                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaDisciplinaBO.Cache_SelecionaDisciplinaPorTurmaDocente, entity.doc_id.ToString());
                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaDisciplinaBO.Cache_SelecionaDisciplinaPorTurmaDocente);
                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaDisciplinaBO.RetornaChaveCache_SelectRelacionadaVigenteBy_DisciplinaCompartilhada(entity.tud_id, entity.doc_id.ToString()));
                CacheManager.Factory.RemoveByPattern(ModelCache.TURMA_DISCIPLINA_SELECIONA_DISCIPLINA_POR_TURMADOCENTE_SEM_VIGENCIA_PATTERN_KEY);
                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaBO.RetornaChaveCache_SelecionaPorDocenteControleTurma(ent_id.ToString(), entity.doc_id.ToString()));
                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaDisciplinaBO.RetornaChaveCache_SelectRelacionadaVigenteBy_DisciplinaCompartilhada(entity.tud_id, entity.doc_id.ToString()));
                TUR_TurmaBO.RemoveCacheDocenteControleTurma(ent_id, entity.doc_id);
                if (tur_id > 0)
                {
                    TUR_TurmaBO.RemoveCacheDocente_TurmaDisciplina(tur_id, entity.doc_id, ent_id);
                }
                else
                {
                    GestaoEscolarUtilBO.LimpaCache(TUR_TurmaDisciplinaBO.Cache_GetSelectBy_TurmaDocente, entity.doc_id.ToString());
                }

                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaDisciplinaBO.RetornaChaveCache_SelectRelacionadaVigenteBy_DisciplinaCompartilhada(entity.tud_id, ""));
                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaDisciplinaBO.RetornaChaveCache_SelectRelacionadaVigenteBy_DisciplinaCompartilhada(entity.tud_id, entity.doc_id.ToString()));
                GestaoEscolarUtilBO.LimpaCache(TUR_TurmaBO.RetornaChaveCache_DocenteControleTurmas(ent_id, entity.doc_id));
                CacheManager.Factory.RemoveByPattern(string.Format("{0}_{1}_{2}",
                                                                   ModelCache.TURMA_DISCIPLINA_SELECIONA_DISCIPLINA_POR_TURMADOCENTE_SEM_VIGENCIA_PATTERN_KEY,
                                                                   tur_id, entity.doc_id));

                if (ent_id != Guid.Empty)
                {
                    GestaoEscolarUtilBO.LimpaCache(ESC_UnidadeEscolaBO.RetornaChaveCache_SelectEscolas_VisaoIndividual(entity.doc_id, ent_id, 1));
                    GestaoEscolarUtilBO.LimpaCache(ESC_UnidadeEscolaBO.RetornaChaveCache_SelectEscolas_VisaoIndividual(entity.doc_id, ent_id, 0));
                }
            }
        }
Beispiel #11
0
        protected void btnPesquisar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                List <ColaboradoresAtribuicao> lista = RHU_ColaboradorBO.PesquisaPorFiltros_AtribuicaoEsporadica
                                                           (txtRF.Text, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                if (lista.Count > 0)
                {
                    if (UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID > 0)
                    {
                        if (ESC_EscolaClassificacaoBO.VerificaExisteCargoClassificacao(UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID, lista[0].crg_id))
                        {
                            ColaboradorSelecionado = lista[0];
                            txtNome.Text           = ColaboradorSelecionado.pes_nome;
                            SetaBotoesPesquisaRF();

                            Guid uad_idSuperior = UCFiltroEscolas._UCComboUnidadeAdministrativa_Uad_ID;
                            int  esc_id         = UCFiltroEscolas._UCComboUnidadeEscola_Esc_ID;
                            int  uni_id         = UCFiltroEscolas._UCComboUnidadeEscola_Uni_ID;

                            lstEscolasCargo = ESC_UnidadeEscolaBO.SelecionaPorCargoTipoClassificacaoVigente(ColaboradorSelecionado.crg_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.usu_id, __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao, false);

                            if (UCFiltroEscolas._VS_FiltroEscola)
                            {
                                UCFiltroEscolas._UnidadeAdministrativa_LoadCombo(lstEscolasCargo.GroupBy(p => p.uad_idSuperior).Select(p => new sComboUAEscola {
                                    uad_id = p.Key, uad_nome = p.First().uad_nome
                                }).OrderBy(p => p.uad_nome));
                                UCFiltroEscolas._ComboUnidadeAdministrativa.SelectedValue = uad_idSuperior.ToString();
                                UCFiltroEscolas__Selecionar();
                                UCFiltroEscolas._ComboUnidadeEscola.SelectedValue = string.Format("{0};{1}", esc_id, uni_id);
                            }
                            else
                            {
                                UCFiltroEscolas._UnidadeEscola_LoadCombo(lstEscolasCargo.GroupBy(p => p.esc_uni_id).Select(p => p.First()).OrderBy(p => p.esc_uni_nome));
                                UCFiltroEscolas._ComboUnidadeEscola.SelectedValue = string.Format("{0};{1}", esc_id, uni_id);
                            }
                        }
                        else
                        {
                            txtRF.Focus();
                            ColaboradorSelecionado = new ColaboradoresAtribuicao();
                            lblMensagemDocenteNaoEncontrado.Text = UtilBO.GetErroMessage(
                                GetGlobalResourceObject("Academico", "AtribuicaoEsporadica.Cadastro.lblMensagemDocenteNaoEncontradoCargoNaoPermitido.Text").ToString()
                                , UtilBO.TipoMensagem.Alerta);

                            lstEscolasCargo = new List <sComboUAEscola>();
                        }
                    }
                    else
                    {
                        ColaboradorSelecionado = lista[0];
                        txtNome.Text           = ColaboradorSelecionado.pes_nome;
                        SetaBotoesPesquisaRF();

                        lstEscolasCargo = ESC_UnidadeEscolaBO.SelecionaPorCargoTipoClassificacaoVigente(ColaboradorSelecionado.crg_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.usu_id, __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao, false);

                        if (UCFiltroEscolas._VS_FiltroEscola)
                        {
                            UCFiltroEscolas._UnidadeAdministrativa_LoadCombo(lstEscolasCargo.GroupBy(p => p.uad_idSuperior).Select(p => new sComboUAEscola {
                                uad_id = p.Key, uad_nome = p.First().uad_nome
                            }).OrderBy(p => p.uad_nome));
                            UCFiltroEscolas._ComboUnidadeEscola.SelectedValue = "-1;-1";
                            UCFiltroEscolas._ComboUnidadeEscola.Enabled       = false;
                        }
                        else
                        {
                            UCFiltroEscolas._UnidadeEscola_LoadCombo(lstEscolasCargo.GroupBy(p => p.esc_uni_id).Select(p => p.First()).OrderBy(p => p.esc_uni_nome));
                        }
                    }
                }
                else
                {
                    txtRF.Focus();
                    ColaboradorSelecionado = new ColaboradoresAtribuicao();
                    lblMensagemDocenteNaoEncontrado.Text = UtilBO.GetErroMessage(
                        GetGlobalResourceObject("Academico", "AtribuicaoEsporadica.Cadastro.lblMensagemDocenteNaoEncontrado.Text").ToString()
                        , UtilBO.TipoMensagem.Alerta);

                    lstEscolasCargo = new List <sComboUAEscola>();

                    UCFiltroEscolas._LoadInicial(false);
                }

                upnEscola.Update();
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os docentes.", UtilBO.TipoMensagem.Erro);
            }
        }