コード例 #1
0
    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);
    }
コード例 #2
0
    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());
    }