private async Task RestoreStateAsync(string userId) { var r = await Task.WhenAll( StateStoreTable.ExecuteAsync(TableOperation.Retrieve <MessagingChatSettings>(nameof(MessagingChatSettings), userId)), StateStoreTable.ExecuteAsync(TableOperation.Retrieve <MessagingSessionData>(nameof(MessagingSessionData), userId))); if (r[0].HttpStatusCode != 200) { MessagingChatSettings = new MessagingChatSettings { RowKey = userId, }; } else { MessagingChatSettings = (MessagingChatSettings)r[0].Result; } if (r[1].HttpStatusCode != 200) { MessagingSessionData = new MessagingSessionData { RowKey = userId, }; } else { MessagingSessionData = (MessagingSessionData)r[1].Result; if (MessagingSessionData.Timestamp <= DateTimeOffset.UtcNow - TimeSpan.FromMinutes(15)) { MessagingSessionData = new MessagingSessionData { RowKey = userId, }; } } }
private Task SaveStateAsync(string userId) { return(Task.WhenAll( StateStoreTable.ExecuteAsync(TableOperation.InsertOrReplace(MessagingChatSettings)), StateStoreTable.ExecuteAsync(TableOperation.InsertOrReplace(MessagingSessionData)))); }