コード例 #1
0
 public void RemoverFuncionalidade(UsuarioFuncionalidade item)
 {
     if (item != (UsuarioFuncionalidade)null)
     {
         QueryableUnitOfWork.Attach(item);
         QueryableUnitOfWork.CreateSet <UsuarioFuncionalidade>().Remove(item);
     }
 }
コード例 #2
0
 public void InsertOrUpdate(UsuarioFuncionalidade obj)
 {
     try
     {
         db.Entry(obj).State = obj.UsuarioFuncionalidadeId == 0 ? EntityState.Added : EntityState.Modified;
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception("Error ao cadastrar Objeto!" + ex.Message);
     }
 }
コード例 #3
0
        public bool Deletar(int UsuarioId, int ModuloId)
        {
            if (!ValidaDeletar(UsuarioId, ModuloId))
            {
                return(false);
            }

            bool bolOK = true;

            //Deleta as funcionalidades
            //=============================================================
            var usuarioFuncionalidade = new UsuarioFuncionalidade();
            var listaRemocao          = ListarPeloUsuarioModulo(UsuarioId, ModuloId);

            foreach (var item in listaRemocao)
            {
                usuarioFuncionalidade = new UsuarioFuncionalidade();
                usuarioFuncionalidade = usuarioFuncionalidadeRepository.ObterPeloId(item.Id);
                try
                {
                    usuarioFuncionalidadeRepository.Remover(usuarioFuncionalidade);
                    bolOK = true;
                }
                catch (Exception)
                {
                    bolOK = false;
                    break;
                }
            }
            //=============================================================

            //Falta deletar o perfil - se houver

            if (bolOK == true)
            {
                usuarioFuncionalidadeRepository.UnitOfWork.Commit();
                messageQueue.Add(Resource.Sigim.SuccessMessages.ExcluidoComSucesso, TypeMessage.Success);
            }
            else
            {
                usuarioFuncionalidadeRepository.UnitOfWork.RollbackChanges();
                messageQueue.Add(Resource.Sigim.ErrorMessages.ExclusaoErro, TypeMessage.Error);
            }

            return(bolOK);
        }
コード例 #4
0
        public bool Salvar(int UsuarioId, int ModuloId, int?PerfilId, List <UsuarioFuncionalidadeDTO> listaDto)
        {
            if (listaDto == null)
            {
                throw new ArgumentNullException("dto");
            }

            if (!ValidaSalvar(UsuarioId, ModuloId, PerfilId, listaDto))
            {
                return(false);
            }

            bool bolOK = true;


            //Salva as funcionalidades
            //=============================================================
            var usuarioFuncionalidade = new UsuarioFuncionalidade();
            var listaRemocao          = ListarPeloUsuarioModulo(UsuarioId, ModuloId);

            foreach (var item in listaRemocao)
            {
                usuarioFuncionalidade = new UsuarioFuncionalidade();
                usuarioFuncionalidade = usuarioFuncionalidadeRepository.ObterPeloId(item.Id);
                usuarioFuncionalidadeRepository.Remover(usuarioFuncionalidade);
            }

            foreach (var item in listaDto)
            {
                usuarioFuncionalidade                = new UsuarioFuncionalidade();
                usuarioFuncionalidade.Id             = null;
                usuarioFuncionalidade.UsuarioId      = UsuarioId;
                usuarioFuncionalidade.ModuloId       = ModuloId;
                usuarioFuncionalidade.Funcionalidade = item.Funcionalidade;

                if (Validator.IsValid(usuarioFuncionalidade, out validationErrors))
                {
                    usuarioFuncionalidadeRepository.Inserir(usuarioFuncionalidade);
                    bolOK = true;
                }
                else
                {
                    bolOK = false;
                    break;
                }
            }

            //=============================================================

            //Falta salvar o perfil

            if (bolOK == true)
            {
                usuarioFuncionalidadeRepository.UnitOfWork.Commit();
                messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success);
            }
            else
            {
                usuarioFuncionalidadeRepository.UnitOfWork.RollbackChanges();
                messageQueue.Add(Resource.Sigim.ErrorMessages.GravacaoErro, TypeMessage.Error);
            }

            return(bolOK);
        }