Exemplo n.º 1
0
        private void EnsureValid(string requestedDeviceId, MyPinStatus status)
        {
            if (!string.Equals(requestedDeviceId, status.DeviceId, StringComparison.OrdinalIgnoreCase))
            {
                throw new ResourceNotFoundException();
            }

            EnsureValid(status);
        }
Exemplo n.º 2
0
        private void EnsureValid(MyPinStatus status)
        {
            if ((DateTime.UtcNow - status.CreationTimeUtc).TotalMinutes > 10)
            {
                status.IsExpired = true;
            }

            if (status.IsExpired)
            {
                throw new ResourceNotFoundException();
            }
        }
Exemplo n.º 3
0
        public object Post(CreatePinRequest request)
        {
            var pin = GetNewPin();

            var value = new MyPinStatus
            {
                CreationTimeUtc = DateTime.UtcNow,
                IsConfirmed     = false,
                IsExpired       = false,
                Pin             = pin,
                DeviceId        = request.DeviceId
            };

            _activeRequests.AddOrUpdate(pin, value, (k, v) => value);

            return(ToOptimizedResult(new PinCreationResult
            {
                DeviceId = request.DeviceId,
                IsConfirmed = false,
                IsExpired = false,
                Pin = pin
            }));
        }