Ejemplo n.º 1
0
        private async void ExecuteRemoveCommand()
        {
            if (!CanExecuteRemoveCommand())
            {
                return;
            }

            if (await DataService.Instance.RemoveCollectionItem(CurrentCollectionItem.CollectionItemId))
            {
                StorageService.RemoveCollectionItem(CurrentCollectionItem);
                Messenger.Default.Send <RefreshDataMessage>(new RefreshDataMessage()
                {
                    RequestedRefreshScope = RefreshDataMessage.RefreshScope.Collection,
                    RequestedRefreshType  = RefreshDataMessage.RefreshType.Local
                });
                CurrentCollectionItem = new CollectionDataItem();
            }
            else
            {
                Messenger.Default.Send(new StatusMessage()
                {
                    Status  = StatusMessage.StatusType.Error,
                    Message = "Removing an item was unsuccessful."
                });
            }
        }
Ejemplo n.º 2
0
        public static CollectionDataItem LoadCollectionItem()
        {
            CollectionDataItem ci = new CollectionDataItem()
            {
                BoardGameName = "Eldritch Horror",
                YearPublished = 1996,
                BoardGameId   = 7923,
                ThumbnailPath = 7923 + "_th.jpg",
                MaxPlayers    = 5,
                MinPlayers    = 2,
                PlayingTime   = 240,
                IsExpansion   = false,
                UserRating    = (double)5.5,
                GeekRating    = (double)6.7,
                AverageRating = (double)7.9,
                Rank          = 57,
                NumberOfPlays = 21,

                CollectionItemId = 17213,
                Owned            = true,
                PreviousOwned    = false,
                ForTrade         = false,
                Want             = false,
                WantToPlay       = true,
                WantToBuy        = false,
                Wishlist         = true,
                WishlistPriority = 4,
                PreOrdered       = true,
            };

            return(ci);
        }
Ejemplo n.º 3
0
 public static void RemoveCollectionItem(CollectionDataItem collectionItem)
 {
     using (var db = DbConnection)
     {
         db.Delete(collectionItem);
     }
 }
Ejemplo n.º 4
0
        public bool Matches(CollectionDataItem game)
        {
            var match = true;

            if (game == null)
            {
                match = false;
            }

            switch (RequestedStatus)
            {
            case ExpansionStatus.All:
                match = true;
                break;

            case ExpansionStatus.BaseBoardGame:
                match = game.IsExpansion == false;
                break;

            case ExpansionStatus.Expansion:
                match = game.IsExpansion;
                break;

            default:
                match = false;
                break;
            }
            return(match);
        }
Ejemplo n.º 5
0
 public static void SaveCollectionItem(CollectionDataItem collectionItem)
 {
     using (var db = DbConnection)
     {
         db.Delete(collectionItem);
         db.Insert(collectionItem);
     }
 }
Ejemplo n.º 6
0
 private void RequestCollectionData(CollectionDataItem collectionItem)
 {
     if (collectionItem.Results == null)
     {
         collectionItem.Results = new ObservableResultCollection(
             (this.itemListView.SelectedItem as ServiceDataItem).Subtitle,
             collectionItem.Title, collectionItem.Table, this);
     }
 }
Ejemplo n.º 7
0
        public static CollectionDataItem LoadCollectionItem(int collectionItemId)
        {
            CollectionDataItem item = new CollectionDataItem();

            using (var db = DbConnection)
            {
                item = db.Find <CollectionDataItem>(a => a.CollectionItemId == collectionItemId);
            }
            return(item ?? new CollectionDataItem());
        }
Ejemplo n.º 8
0
        public static ObservableCollection <CollectionDataItem> LoadCollection()
        {
            ObservableCollection <CollectionDataItem> data = new ObservableCollection <CollectionDataItem>();
            CollectionDataItem item1 = new CollectionDataItem()
            {
                BoardGameName = "Design time item",
                YearPublished = 1999,
                MinPlayers    = 2,
                MaxPlayers    = 7,
                PlayingTime   = 30,
                Rank          = 678,
                Owned         = true
            };

            data.Add(item1);

            CollectionDataItem item2 = new CollectionDataItem()
            {
                BoardGameName = "Design time item - second item",
                YearPublished = 2999,
                MinPlayers    = 2,
                MaxPlayers    = 2,
                PlayingTime   = 200,
                Rank          = 1678,
                UserRating    = (Double)8.9,
                Owned         = true
            };

            data.Add(item2);

            CollectionDataItem item3 = new CollectionDataItem()
            {
                BoardGameName = "Design time item - third item",
                YearPublished = 3999,
                MinPlayers    = 6,
                MaxPlayers    = 15,
                PlayingTime   = 20,
                Rank          = 58,
                Owned         = true
            };

            data.Add(item3);

            return(data);
        }
Ejemplo n.º 9
0
        internal async Task <ObservableCollection <CollectionDataItem> > LoadCollection()
        {
            ObservableCollection <CollectionDataItem> tmpCollection = new ObservableCollection <CollectionDataItem>();

            if (ShouldUpdateData() && !String.IsNullOrEmpty(BGGUsername)) // && has not download for X hours
            {
                Messenger.Default.Send(new ProgressMessage()
                {
                    State   = ProgressMessage.ProgressState.Started,
                    Message = "Downloading collection..."
                });
                // update collection in background
                await Task.Run(async() =>
                {
                    var apiCollection = await Client.LoadCollection(BGGUsername);
                    if (apiCollection != null)
                    {
                        var rootFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("CoverPics", CreationCollisionOption.OpenIfExists);
                        foreach (var item in apiCollection)
                        {
                            var temp = new CollectionDataItem(item);
                            await SaveImage(rootFolder, item.ThumbnailWeb, temp.ThumbnailPath);
                            // await SaveImage(item.ImageWeb, temp.Image);
                            tmpCollection.Add(temp);
                        }

                        StorageService.SaveAllCollectionItems(tmpCollection);
                    }
                });

                Messenger.Default.Send(new ProgressMessage()
                {
                    State = ProgressMessage.ProgressState.Finished
                });
            }

            return(tmpCollection);
        }
Ejemplo n.º 10
0
        public bool Matches(CollectionDataItem game)
        {
            var match = true;

            if (game == null)
            {
                match = false;
            }
            else if (Amount == 0)
            {
                match = true; //match all;
            }
            else if (game.PlayingTime == 0)
            {
                match = false;
            }
            else if (game.PlayingTime > Amount)
            {
                match = false;
            }

            return(match);
        }
Ejemplo n.º 11
0
        internal async Task <bool> EditCollectionItem(CollectionDataItem collectionItem)
        {
            if (IsUserLoggedIn())
            {
                // TODO Create Converter
                CollectionItem item = new CollectionItem()
                {
                    CollectionItemId = collectionItem.CollectionItemId,
                    ForTrade         = collectionItem.ForTrade,
                    Owned            = collectionItem.Owned,
                    WantToBuy        = collectionItem.WantToBuy,
                    WantToPlay       = collectionItem.WantToPlay,
                    Wishlist         = collectionItem.Wishlist,
                    WishlistPriority = collectionItem.WishlistPriority,
                    UserRating       = collectionItem.UserRating,
                    UserComment      = collectionItem.UserComment
                };

                return(await Client.EditCollectionItemStatus(BGGUsername, BGGPassword, item));
            }

            return(false);
        }
Ejemplo n.º 12
0
        public bool Matches(CollectionDataItem BoardGame)
        {
            switch (StatusToFilterOn)
            {
            case BoardGameCollectionStatus.All:
                return(true);

            case BoardGameCollectionStatus.Owned:
                return(BoardGame.Owned);

            case BoardGameCollectionStatus.ForTrade:
                return(BoardGame.ForTrade);

            case BoardGameCollectionStatus.WantToBuy:
                return(BoardGame.WantToBuy);

            case BoardGameCollectionStatus.WantToPlay:
                return(BoardGame.WantToPlay);

            case BoardGameCollectionStatus.WishList:
                return(BoardGame.Wishlist);
            }
            return(false);
        }
Ejemplo n.º 13
0
 public EditDialogViewModel(CollectionDataItem item)
 {
     OriginalCollectionItem = new CollectionDataItem(item);
     EditableCollectionItem = new CollectionDataItem(item);
 }
Ejemplo n.º 14
0
 public EditDialogViewModel(int gameId)
 {
     EditableCollectionItem = DataService.Instance.LoadCollectionItemFromStorage(gameId);
     OriginalCollectionItem = new CollectionDataItem(EditableCollectionItem);
 }