Example #1
0
        protected async Task ConvertToSubscribedModSet(CollectionModel collection)
        {
            //var author = await _api.GetAccount(collection.AuthorId).ConfigureAwait(false);
            //todo
            var author            = new Account(collection.AuthorId);
            var collectionVersion = await _api.GetCollectionVersion(collection.Versions.OrderBy(x => x.Version).Last().Id).ConfigureAwait(false);

            var supportModding      = _context.Games.FindOrThrow(collection.GameId).Modding();
            var subscribedAccountId = _api.Me.Account.Id; // TODO: This can break thingsperhaps; null ref exception....

            SubscribedCollection modSet;

            lock (_contentList.SubscribedCollections)
                modSet = _contentList.SubscribedCollections.FirstOrDefault(
                    x => x.CollectionID == collection.Id && x.SubscribedAccountId == subscribedAccountId);

            var newCollection = modSet == null;

            if (newCollection)
            {
                modSet = new SubscribedCollection(collection.Id, subscribedAccountId, supportModding);
            }

            await modSet.UpdateInfoFromOnline(collection, collectionVersion, author, _contentList).ConfigureAwait(false);

            if (newCollection)
            {
                lock (_contentList.SubscribedCollections)
                    _contentList.SubscribedCollections.Add(modSet);
            }
        }
        public SubscribedCollectionLibraryItemViewModel(ModLibraryViewModel library, SubscribedCollection model,
                                                        LibraryGroupViewModel @group = null,
                                                        bool isFeatured = false, bool doGrouping = false)
            : base(library, model, SixIconFont.withSIX_icon_Synq, @group, isFeatured, doGrouping)
        {
            MainIcon   = SixIconFont.withSIX_icon_Folder;
            _library   = library;
            Model      = model;
            IsEditable = false;

            SubHeader = model.Author;
        }