private void verificarPermissao(ProjetoEntidade projeto, UsuarioEntidade usuarioLogado) { var usuarioDaBase = usuarioRepositorio.BuscarPorEmail(usuarioLogado); var projetoDaBase = projetoRepositorio.BuscarPorId(projeto); var usuarioPodeEditar = usuarioDaBase.Id == projetoDaBase.UsuarioId || usuarioDaBase.Permissao == Permissao.ADMINISTRADOR; if (!usuarioPodeEditar) { throw new UsuarioException("Você não possuí permissão para realizar esta operação!"); } }
public void Persistir(ProjetoEntidade projeto, UsuarioEntidade usuarioLogado) { if (projeto.Id == 0) { var usuarioDaBase = usuarioRepositorio.BuscarPorEmail(usuarioLogado); projeto.Usuario = usuarioDaBase; projetoRepositorio.Criar(projeto); } else { this.verificarPermissao(projeto, usuarioLogado); projetoRepositorio.Editar(projeto); } }
public void Remover(ProjetoEntidade projeto, UsuarioEntidade usuarioLogado) { this.verificarPermissao(projeto, usuarioLogado); projetoRepositorio.Remover(projeto); }
public ProjetoEntidade BuscarPorId(ProjetoEntidade projeto) { return(projetoRepositorio.BuscarPorId(projeto)); }