public async Task <SaveToCloudOutput> SaveToCloudAsync(CloudBkCollection cloudBkCollection) { if (!await _googleDriveClient.TestAsync()) { return(new SaveToCloudOutput { IsOk = false, Message = "google not login" }); } await _googleDriveClient.UploadAsync(cloudBkCollection); var googleDriveStatics = await _simpleDataStorage.GetOrDefaultAsync <GoogleDriveStatics>(); googleDriveStatics.LastSuccessUploadTime = _clock.UtcNow; await _simpleDataStorage.SaveAsync(googleDriveStatics); var re = new SaveToCloudOutput { IsOk = true }; return(re); }
public async Task AddAsync(MsgItem item) { var records = await _notificationRepo.GetAllAsync(); var groupName = item.Type.ToString(); var record = records.FirstOrDefault(x => x.Group == groupName); var now = _clock.UtcNow; item.CreatedTime = now; if (record == null) { record = new NotificationRecord { Group = groupName, Id = now, Items = new List <MsgItem> { item }, UpdateTime = now }; } else { record.Items.Insert(0, item); while (record.Items.Count > 10) { record.Items.RemoveAt(record.Items.Count - 1); } record.UpdateTime = now; } await _notificationRepo.UpsertAsync(record); var status = await _simpleDataStorage.GetOrDefaultAsync <NotificationCenterStatus>(); status.NewMessage = true; await _simpleDataStorage.SaveAsync(status); await _afEventHub.PublishAsync(new NewNotificationEvent()); }