public async Task <bool> UpdateRequestStatus(Guid id, OpenIdKey openIdKey, DetailedStatusList status) { var db = _connectionMultiplexer.GetDatabase(); await db.JsonSetAsync(RedisConstants.GetBloodRequestPersistenceKey(id), JsonSerializer.Serialize(status, _jsonSerializerOptions), ".Status"); var path = status switch { DetailedStatusList.Assigned => ".AssignedBy", DetailedStatusList.Cancelled => ".CancelledBy", _ => ".ActionBy", }; var result = await db.JsonSetAsync(RedisConstants.GetBloodRequestPersistenceKey(id), JsonSerializer.Serialize(openIdKey.GetPersistenceKey(), _jsonSerializerOptions), path); return(result.IsSuccess); }
public void CancelRequest() => Status = DetailedStatusList.Cancelled;