private void EnsureValid(string requestedDeviceId, MyPinStatus status) { if (!string.Equals(requestedDeviceId, status.DeviceId, StringComparison.OrdinalIgnoreCase)) { throw new ResourceNotFoundException(); } EnsureValid(status); }
private void EnsureValid(MyPinStatus status) { if ((DateTime.UtcNow - status.CreationTimeUtc).TotalMinutes > 10) { status.IsExpired = true; } if (status.IsExpired) { throw new ResourceNotFoundException(); } }
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 })); }