コード例 #1
0
        public void AtualizarPerfil(Perfil perfil)
        {
            var perfilDb                   = _perfilRepository.ObterPerfilComVinculo(perfil.Id);
            var funcionalidades            = _funcionalidadeRepository.BuscarTodos();
            var funcionalidadesRemovidas   = perfilDb.VinculoPerfilFuncionalidades.Where(x => !perfil.VinculoPerfilFuncionalidades.Any(y => y.IdFuncionalidade == x.IdFuncionalidade));
            var funcionalidadesMantidas    = perfil.VinculoPerfilFuncionalidades.Where(x => perfilDb.VinculoPerfilFuncionalidades.Any(y => y.IdFuncionalidade == x.IdFuncionalidade));
            var funcionalidadesAdicionadas = perfil.VinculoPerfilFuncionalidades.Where(x => !perfilDb.VinculoPerfilFuncionalidades.Any(y => y.Id == x.Id) && !funcionalidadesMantidas.Any(y => y.IdFuncionalidade == x.IdFuncionalidade));

            if (funcionalidadesRemovidas.Any())
            {
                _vinculoPerfilFuncionalidadeRepository.RemoverVinculos(funcionalidadesRemovidas.ToList());
            }
            if (funcionalidadesAdicionadas.Any())
            {
                foreach (var item in funcionalidadesAdicionadas.ToList())
                {
                    perfilDb.VinculoPerfilFuncionalidades.Add(item);
                }
            }
            perfilDb.FlAtivo  = perfil.FlAtivo;
            perfilDb.NmModulo = perfil.NmModulo;
            perfilDb.NmPerfil = perfil.NmPerfil;

            _perfilRepository.Update(perfilDb);
        }
コード例 #2
0
        public List <Funcionalidade> BuscarTodasFuncionalidades()
        {
            var result = _funcionalidadeRepository.BuscarTodos();

            return(result.ToList());
        }