public ICommandResult Handle(AtualizarTelaCommand command) { if (!command.IsValidCommand()) { return(new CommandResult(false, "Por favor, verificar os campos abaixo", command.Notifications)); } var areaAtuacao = _areaAtuacaoRepository.AreaAtuacao(command.IdAreaAtuacao); if (areaAtuacao == null) { return(new CommandResult(false, $"A área de atuação não existe na base de dados. Código informado: { command.Id }", new { })); } var tela = _telaRepository.Tela(command.Id); if (tela == null) { return(new CommandResult(false, $"A tela não existe na base de dados. Código informado: { command.Id }", new { })); } if (command.Titulo != tela.Titulo) { if (_telaRepository.TelaExistente(command.Titulo)) { AddNotification("Titulo", $"Título já cadastrado na base de dados. Título informado: { command.Titulo }"); } } tela.AtribuirTela(command.Titulo, command.Descricao, command.Link); tela.AtribuirAreaAtuacao(areaAtuacao); if (command.Ativo.Equals(EBoolean.False)) { tela.Desativar(); } else { tela.Ativar(); } AddNotifications(tela, areaAtuacao); if (Invalid) { return(new CommandResult(false, "Por favor, corrigir os campos abaixo", Notifications)); } _telaRepository.Atualizar(tela); return(new CommandResult(true, "Tela atualizada com sucesso", new { Area = areaAtuacao.Titulo, Titulo = tela.Titulo })); }
public ICommandResult Atualizar([FromBody] AtualizarTelaCommand command) { var result = (CommandResult)_handler.Handle(command); return(result); }