private void LoadItems(bool showAll) { int?selectedItem = this.SelectedValueAsInt(); this.Items.Clear(); this.Items.Add(new ListItem()); using (var rockContext = new RockContext()) { foreach (var assetStorageProvider in new AssetStorageProviderService(rockContext) .Queryable().AsNoTracking() .Where(g => g.EntityTypeId.HasValue) .OrderBy(g => g.Name) .ToList()) { var entityType = EntityTypeCache.Get(assetStorageProvider.EntityTypeId.Value); AssetStorageComponent component = AssetStorageContainer.GetComponent(entityType.Name); if (showAll || (assetStorageProvider.IsActive && component != null && component.IsActive)) { this.Items.Add(new ListItem(assetStorageProvider.Name, assetStorageProvider.Id.ToString())); } } } this.SetValue(selectedItem); }
public void Store(NodeAddedEvent e, LoadedAssetNode assetNode, [JoinAll] DatabaseNode db) { AssetStorageComponent assetStorage = db.assetStorage; string assetGuid = assetNode.assetReference.Reference.AssetGuid; Object data = assetNode.resourceData.Data; if (data != null) { assetStorage.Put(assetGuid, data, assetNode.assetRequest.AssetStoreLevel); } }
public void CleanStorage(UnloadUnusedAssetsEvent e, Node any, [JoinAll] DatabaseNode db) { AssetStorageComponent assetStorage = db.assetStorage; List <string> list = new List <string>(10); foreach (KeyValuePair <string, ResourceStorageEntry> pair in db.assetStorage.ManagedReferencies) { ResourceStorageEntry entry = pair.Value; if (this.IsExpired(entry)) { list.Add(pair.Key); } } foreach (string str in list) { assetStorage.Remove(str, AssetStoreLevel.MANAGED); } }
private bool FillAllAssetsFromStorage(IEnumerable <AssetReference> referencies, AssetStorageComponent storage, out List <Object> assetList) { bool flag; assetList = new List <Object>(5); using (IEnumerator <AssetReference> enumerator = referencies.GetEnumerator()) { while (true) { if (enumerator.MoveNext()) { AssetReference current = enumerator.Current; if (storage.Contains(current.AssetGuid)) { assetList.Add(storage.Get(current.AssetGuid)); continue; } flag = false; } else { return(true); } break; } } return(flag); }