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; }