public async Task SaveBudgets(ObservableCollection<Budget> budgets) { try { var result = this.BudgetList.ToObservableCollection(); if(!App.Instance.IsOnline) { result = result.Where(i => !i.IsDeleted).ToObservableCollection(); ApplicationData.Current.LocalSettings.Values["IsSync"] = false; } else { var client = new BMAService.MainClient(); result = await client.SaveBudgetsAsync(budgets); ApplicationData.Current.LocalSettings.Values["IsSync"] = true; } await UpdateCacheBudgets(result); SetupBudgetList(result); } catch (Exception) { throw; } }
private static async Task<ICollection<Budget>> LoadLiveBudgets() { var retVal = new List<Budget>(); var info = NetworkInformation.GetInternetConnectionProfile(); if (info == null || info.GetNetworkConnectivityLevel() != NetworkConnectivityLevel.InternetAccess) { return retVal; } try { var client = new BMAService.MainClient(); var result = await client.GetAllBudgetsAsync(); retVal.AddRange(result); } catch (Exception ex) { var dialog = new MessageDialog(string.Format("There was an error accessing the weather service.\n\r{0}", ex.Message)); throw; } return retVal; }
public async Task SyncBudgets() { try { var budgets = await LoadCachedBudgets(); var client = new BMAService.MainClient(); var result = await client.SyncBudgetsAsync(budgets.ToObservableCollection()); ApplicationData.Current.LocalSettings.Values["IsSync"] = true; await UpdateCacheBudgets(result); SetupBudgetList(result); } catch (Exception) { throw; } }
private static async Task<ICollection<Transaction>> LoadLiveTransactions(int budgetId) { var retVal = new List<Transaction>(); var info = NetworkInformation.GetInternetConnectionProfile(); if (!App.Instance.IsOnline) { return retVal; } try { var client = new BMAService.MainClient(); var result = budgetId == 0 ? await client.GetLatestTransactionsAsync() : await client.GetTransactionsForBudgetAsync(budgetId); retVal.AddRange(result); } catch (Exception ex) { var dialog = new MessageDialog(string.Format("There was an error accessing the weather service.\n\r{0}", ex.Message)); throw; } return retVal; }