/// <summary> /// Gets a <see cref="IEnumerable{CultureInfo}"/> containing <see cref="CultureInfo"/> instances from provided <code>requiredTranslations</code> /// which translations are not found in the provided <see cref="MarketDescriptionCacheItem"/> /// </summary> /// <param name="item">The <see cref="MarketDescriptionCacheItem"/> instance, or a null reference</param> /// <param name="requiredTranslations">The <see cref="IEnumerable{CultureInfo}"/> specifying the required languages</param> /// <returns>A <see cref="IEnumerable{CultureInfo}"/> containing missing translations or a null reference if none of the translations are missing</returns> private static IEnumerable <CultureInfo> GetMissingTranslations(MarketDescriptionCacheItem item, IEnumerable <CultureInfo> requiredTranslations) { Guard.Argument(requiredTranslations, nameof(requiredTranslations)).NotNull().NotEmpty(); if (item == null) { return(requiredTranslations); } var missingCultures = requiredTranslations.Where(c => !item.HasTranslationsFor(c)).ToList(); return(missingCultures.Any() ? missingCultures : null); }
/// <summary> /// Gets a <see cref="IEnumerable{CultureInfo}"/> containing <see cref="CultureInfo"/> instances from provided <code>requiredTranslations</code> /// which translations are not found in the provided <see cref="MarketDescriptionCacheItem"/> /// </summary> /// <param name="item">The <see cref="MarketDescriptionCacheItem"/> instance, or a null reference</param> /// <param name="requiredTranslations">The <see cref="IEnumerable{CultureInfo}"/> specifying the required languages</param> /// <returns>A <see cref="IEnumerable{CultureInfo}"/> containing missing translations or a null reference if none of the translations are missing</returns> private static IEnumerable <CultureInfo> GetMissingTranslations(MarketDescriptionCacheItem item, IEnumerable <CultureInfo> requiredTranslations) { Contract.Requires(requiredTranslations != null && requiredTranslations.Any()); if (item == null) { return(requiredTranslations); } var missingCultures = requiredTranslations.Where(c => !item.HasTranslationsFor(c)).ToList(); return(missingCultures.Any() ? missingCultures : null); }