private async Task Save(AssetSelectionRow changedAsset) { try { if (!userAssets.Contains(changedAsset.UserAsset)) { userAssets.Add(changedAsset.UserAsset); } appData.UserAssets = userAssets.ToArray(); bool ignoreBalanceCheck = false; var request = userAssets.Select(a => new Agate.Contracts.Models.User.UpdateUserAssetRequest { AssetId = a.AssetId, Favorited = a.Favorited, IgnoreBalanceCheck = ignoreBalanceCheck }).ToArray(); await userAssetsService.Save(secureStorage.GetUserId().Value, request); await userData.SaveUserAssets(appData.UserAssets); } catch (Exception ex) { Crashes.TrackError(ex, new Dictionary <string, string> { { "page", "choose asset page" }, { "operation", $"saving changes" } }); await View.DisplayAlert("Error", "An error occurred while processing your request" + ex, "Ok"); } }
public async void SelectionChanged(AssetSelectionRow changedRow) { await Save(changedRow); }