Beispiel #1
0
        public ICommandResult Handle(UpdateEndpointCommand command)
        {
            // Fail Fast Validation
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos. Verifique o preenchimento dos campos e tente novamente.", command.Notifications));
            }

            // Recupera Entidade (para reidratação)
            var endpoint = _repository.GetBySerialNumber(command.SerialNumber);

            if (endpoint == null)
            {
                return(new GenericCommandResult(false, "Nenhum Endpoint encontrado com esse Número Serial.", null));
            }

            // Altera a Entidade (reidradação)
            endpoint.Update(command.SwitchState);

            // Checa as Notificações
            if (Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos. Verifique o preenchimento dos campos e tente novamente.", Notifications));
            }

            // Salva as Informações
            _repository.Update(endpoint);

            // Retorna as Informações
            return(new GenericCommandResult(true, "Atualização realizada com sucesso.", endpoint));
        }
Beispiel #2
0
 public void Deve_interromper_a_atualizacao_quando_o_comando_for_invalido()
 {
     _updateEndpointCommand.SerialNumber = null;
     _updateEndpointCommand.Validate();
     Assert.AreEqual(_updateEndpointCommand.Invalid, true);
 }