Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Item GetFallbackItem(this Item item)
- {
- Assert.IsNotNull(item, "item cannot be null");
- var success = false;
- int iterations = 0, maxIterations = 5;
- while (iterations++ < maxIterations)
- {
- var fallbackLang = item.Language.GetFallbackLanguage(item.Database);
- if (fallbackLang != null &&
- !fallbackLang.Name.IsNullOrEmpty() &&
- !fallbackLang.Equals(item.Language))
- {
- item = item.Database.GetItem(item.ID, fallbackLang, Version.Latest);
- if (item != null && item.Versions.Count > 0)
- {
- success = true;
- break;
- }
- }
- }
- return success ? item : null;
- }
- public static bool HasFallbackVersion(this Item item)
- {
- if (item.Versions.Count > 0)
- {
- return true;
- }
- var fallbackItem = item.GetFallbackItem();
- return fallbackItem != null && fallbackItem.Versions.Count > 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement