Exemplo n.º 1
0
        private async Task<JObject> UpdateYnabSettingsYroot(ZipArchive userArchive)
        {
            var dropboxResult = await this.GetClient()
                .GetAsync("https://content.dropboxapi.com/1/files/auto/.ynabSettings.yroot");

            if (dropboxResult.StatusCode != HttpStatusCode.OK)
                return null;

            var content = await dropboxResult.Content.ReadAsByteArrayAsync();

            var entry = userArchive.GetOrCreateEntry(".ynabSettings.yroot");
            using (var stream = entry.Open())
            {
                await stream.WriteAsync(content, 0, content.Length);
            }

            return JObject.Parse(Encoding.UTF8.GetString(content));
        }
Exemplo n.º 2
0
 private async Task<string> ReadCursorForBudget(ZipArchive userArchive, string budgetPath)
 {
     var cursorFilePath = Path.Combine(budgetPath, "DropboxDeltaCursor.txt");
     
     using (var stream = userArchive.GetOrCreateEntry(cursorFilePath).Open())
     using (var reader = new StreamReader(stream, Encoding.UTF8))
     {
         return await reader.ReadToEndAsync();
     }
 }
Exemplo n.º 3
0
        private async Task UpdateCursorForBudget(ZipArchive userArchive, string budgetPath, string cursor)
        {
            var cursorFilePath = Path.Combine(budgetPath, "DropboxDeltaCursor.txt");

            using (var stream = userArchive.GetOrCreateEntry(cursorFilePath).Open())
            using (var writer = new StreamWriter(stream, Encoding.UTF8))
            {
                await writer.WriteAsync(cursor);
            }
        }