Пример #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));
        }
 public Endpoint GetBySeriaNumber(string serialNumber, [FromServices] IEndpointRepository repository)
 {
     return(repository.GetBySerialNumber(serialNumber));
 }