Esempio n. 1
0
        public async Task <DateTime> UploadBudgetTemplate(BudgetDescription budgetTemplate)
        {
            if (DropboxClient == null)
            {
                return(DateTime.MinValue);
            }

            DateTime cloudFileModifedDate = DateTime.MinValue;

            try
            {
                using (MemoryStream stream = new MemoryStream())
                {
                    var templateJson = JsonConvert.SerializeObject(budgetTemplate);

                    using (var memoryStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(templateJson)))
                    {
                        var metadata = await DropboxClient.Files.UploadAsync(DROPBOX_TEMPLATE_FILE_PATH, WriteMode.Overwrite.Instance, body : memoryStream);

                        cloudFileModifedDate = metadata.ServerModified;
                    }
                }
            }
            catch (Exception exc)
            {
                var msg = exc.Message;
            }

            return(cloudFileModifedDate);
        }
Esempio n. 2
0
 public void UpdateBudgetCategories(List <BudgetCategoryForEdit> updatedCategories)
 {
     try
     {
         BudgetDescription.UpdateCategories(updatedCategories);
         budgetPlanned.Setup(BudgetDescription.Categories);
         _fileManager.WriteCustomTemplate(BudgetDescription);
         if (!string.IsNullOrEmpty(Helpers.Settings.DropboxAccessToken))
         {
             _budgetSynchronizer.UploadBudgetTemplate(BudgetDescription);
         }
         GetCurrentMonthData().UpdateBudgetCategories(updatedCategories);
         Task.Factory.StartNew(async() => await Save());
         BudgetDataChanged?.Invoke(false);
     }
     catch (Exception exc)
     {
         LogsManager.Instance.WriteLine($"Update template failed: {exc.Message}");
     }
 }