Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Fetch - ALL */
- private IQueryable<Image> GetAllImages() {
- //Aaaahh non-multisite, how simple you were
- if (!SystemManager.CurrentContext.IsMultisiteMode) {
- return LibrariesManager.GetManager().GetImages();
- }
- return SitefinityQuery.Get<Image>(LibrariesManager.GetManager().Provider)
- .Where(o => GetLibrariesApplicationNames().Contains(o.ApplicationName));
- }
- /* Fetch - LIVE RECORDS */
- IQueryable<Image> GetImages() {
- return GetAllImages().Where(o => o.Visible && o.Status == ContentLifecycleStatus.Live);
- }
- Image GetImage(Guid id) {
- return GetImages().SingleOrDefault(o => o.Id == id);
- }
- /* Provider/Application names */
- IEnumerable<string> GetLibrariesApplicationNames() {
- //Get Provider names via SiteDataSourceLinks
- var providerNames = GetProviderNames(typeof(LibrariesManager).FullName);
- //NOW we can't just use these, because the "Default" provider for Sitefinity
- //Has a different ProviderName from ApplicationName
- //We could hardcode it, but that's not right, let's look it up in the place Sitefinity sets it.
- return providerNames.Select(o => LibrariesProviderApplicationName(o));
- }
- string LibrariesProviderApplicationName(string providerName) {
- return Config.Get<LibrariesConfig>().Providers[providerName].Parameters["applicationName"];
- }
- IEnumerable<string> GetProviderNames(string dataSourceName) {
- return SystemManager.CurrentContext.CurrentSite.SiteDataSourceLinks
- .Where(o => o.DataSourceName == dataSourceName)
- .Select(o => o.ProviderName);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement