private async void ExecuteAddCommand() { if (!CanExecuteAddCommand()) { return; } if (await DataService.Instance.AddToCollection(CurrentBoardGame.BoardGameId)) { CurrentCollectionItem = await DataService.Instance.LoadCollectionItemFromWeb(CurrentBoardGame.BoardGameId); StorageService.SaveCollectionItem(CurrentCollectionItem); EditDialogVM = new EditDialogViewModel(CurrentCollectionItem); Messenger.Default.Send <RefreshDataMessage>(new RefreshDataMessage() { RequestedRefreshScope = RefreshDataMessage.RefreshScope.Collection, RequestedRefreshType = RefreshDataMessage.RefreshType.Local }); } else { Messenger.Default.Send(new StatusMessage() { Status = StatusMessage.StatusType.Error, Message = "Adding an item was unsuccessful." }); } }
private async void LoadData(int gameId, int collectionId) { LogPlayDialogVM = new LogPlayViewModel(gameId); EditDialogVM = new EditDialogViewModel(gameId); CurrentCollectionItem = DataService.Instance.LoadCollectionItemFromStorage(collectionId); CurrentBoardGame = await DataService.Instance.LoadBoardGame(gameId); RulesLink = new Uri(await DataService.Instance.GetRulesLink(gameId)); // in case of desynchronized local data CurrentCollectionItem = await DataService.Instance.LoadCollectionItemFromWeb(gameId, collectionId); if (!String.IsNullOrEmpty(CurrentCollectionItem.BoardGameName)) { CurrentBoardGame.BoardGameName = CurrentCollectionItem.BoardGameName; CurrentBoardGame.ImageWebLink = CurrentCollectionItem.ImageWebLink; } EditDialogVM = new EditDialogViewModel(CurrentCollectionItem); IsFullyLoaded = true; }