public TTarget GetContent <TTarget>(DocumentIndexModel indexItem, bool filterOnCulture = true) where TTarget : ContentData { if (indexItem == null || string.IsNullOrEmpty(indexItem.Id)) { return(default(TTarget)); } Guid result; if (Guid.TryParse(((IEnumerable <string>)indexItem.Id.Split('|')).FirstOrDefault <string>(), out result)) { LoaderOptions loaderOptions; if (filterOnCulture) { loaderOptions = this.GetLoaderOptions(indexItem.Language); } else { loaderOptions = new LoaderOptions(); loaderOptions.Add <LanguageLoaderOption>(LanguageLoaderOption.Fallback((CultureInfo)null)); } LoaderOptions settings = loaderOptions; TTarget content = null; this._contentRepository.TryGet <TTarget>(result, settings, out content); return(content); } return(default(TTarget)); }
private LoaderOptions CreateDefaultListOption() { LoaderOptions loaderOptions = new LoaderOptions(); loaderOptions.Add <LanguageLoaderOption>(LanguageLoaderOption.Fallback(_languageAccessor.Language)); return(loaderOptions); }
private LoaderOptions GetLoaderOptions(string languageCode) { if (string.IsNullOrEmpty(languageCode)) { LoaderOptions loaderOptions = new LoaderOptions(); loaderOptions.Add <LanguageLoaderOption>(LanguageLoaderOption.FallbackWithMaster((CultureInfo)null)); return(loaderOptions); } CultureInfo language = languageCode == "iv" ? CultureInfo.InvariantCulture : CultureInfo.GetCultureInfo(languageCode); LoaderOptions loaderOptions1 = new LoaderOptions(); loaderOptions1.Add <LanguageLoaderOption>(LanguageLoaderOption.Specific(language)); return(loaderOptions1); }