Esempio n. 1
0
        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
            }));
        }
Esempio n. 2
0
        public ICommandResult Atualizar([FromBody] AtualizarTelaCommand command)
        {
            var result = (CommandResult)_handler.Handle(command);

            return(result);
        }