public HttpResponseMessage GetUnidadesAdministrativasDoGrupoDeUsuario(Guid grupoId)
        {
            try
            {
                if (grupoId == Guid.Empty)
                {
                    return(BadRequestResponse("Id do grupo é obrigatório!"));
                }

                var idEntidade = EntidadeID;

                var listaUnidadeCore = UnidadeAdministrativaBO.SelecionarPorIdGrupo(idEntidade, grupoId);

                if (listaUnidadeCore == null)
                {
                    return(NotFoundResponse("Unidades(s) Administrativa(s) relacionada(s) ao grupo não encontrada."));
                }

                if (listaUnidadeCore.Count == 0)
                {
                    return(NotFoundResponse("Unidades(s) Administrativa(s) relacionada(s) ao grupo não encontrada."));
                }

                var model = Mapper.Map <List <SYS_UnidadeAdministrativa>, List <UnidadeAdministrativa> >(listaUnidadeCore);

                return(OKResponse(model));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(InternalServerErrorResponse());
            }
        }
Exemplo n.º 2
0
        public HttpResponseMessage GetUnidadesAdministrativasFilhas(Guid unidadeId)
        {
            try
            {
                if (unidadeId == Guid.Empty)
                {
                    return(BadRequestResponse("O Id da unidade administrativa é obrigatório!"));
                }

                var entidadeId = EntidadeID;

                var unidadeCoreSSO = SYS_UnidadeAdministrativaBO.GetEntity(entidadeId, unidadeId);

                if (unidadeCoreSSO == null)
                {
                    return(NotFoundResponse("Unidade administrativa não encontrada."));
                }

                if (unidadeCoreSSO.ent_id == Guid.Empty)
                {
                    return(NotFoundResponse("Unidade administrativa não encontrada."));
                }

                // Seleciona a lista de unidades administrativas filhas (subunidades)
                UnidadeAdministrativaBO unidadeBO = new UnidadeAdministrativaBO();
                DataTable dt = unidadeBO.SelecionarUnidadesAdministrativasFilhasV2(entidadeId, unidadeId);

                // Verifica se a consulta retornou algum registro
                if (dt.Rows.Count == 0)
                {
                    return(NotFoundResponse("Subunidade(s) administrativa(s) não encontrada(s)."));
                }

                List <UnidadeAdministrativaDTO> unidades = (
                    from l1 in dt.AsEnumerable()
                    select(UnidadeAdministrativaDTO) UtilBO.DataRowToEntity(l1, new UnidadeAdministrativaDTO()
                {
                    TipoUnidade = (
                        (TipoUnidadeDTO)UtilBO.DataRowToEntity(l1, new TipoUnidadeDTO()))
                }
                                                                            )).ToList();

                var model = Mapper.Map <List <UnidadeAdministrativaDTO>, List <AutenticadorV2.API.Model.UnidadeAdministrativa> >(unidades);

                return(OKResponse(model));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(InternalServerErrorResponse());
            }
        }