public ICommandResult Handle(AtualizarUsuarioTelaCommand command) { if (!command.IsValidCommand()) { return(new CommandResult(false, "Por favor, corrigir os campos abaixo", command.Notifications)); } var usuario = _repository.UsuarioBase(command.IdUsuario); if (usuario == null) { return(new CommandResult(false, "O usuario não existe na base de dados", new { })); } var tela = _repository.Tela(command.IdTela); if (tela == null) { return(new CommandResult(false, "A tela não existe na base de dados", new { })); } var usuarioTela = _repository.UsuarioTela(command.Id, usuario, tela); if (usuarioTela == null) { return(new CommandResult(false, $"O usuário { usuario.Id } - { usuario.Login.Usuario } não está relacionado com a tela { tela.Id } - { tela.Titulo }", new { })); } usuarioTela.AtribuirUsuarioPemissoes(command.Incluir, command.Atualizar, command.Excluir, command.Consultar); AddNotifications(usuarioTela); if (Invalid) { return(new CommandResult(false, "Por favor, corrigir os campos abaixo", Notifications)); } _repository.AtualizarUsuarioTela(usuarioTela); return(new CommandResult(true, "Pemissão atualizada com sucesso", new { Usuario = usuario.Login.Usuario, Tela = $"{ tela.Id } - { tela.Titulo }" })); }
public ICommandResult Atualizar([FromBody] AtualizarUsuarioTelaCommand command) { var result = (CommandResult)_handler.Handle(command); return(result); }