/// <summary> /// Checks if cultures from configuration file are in database. /// </summary> public void CheckCulturesInDatabase() { var supportedCultures = m_configuration.SupportedCultures; var availableCultures = m_cultureUoW.FindAllCultures(); foreach (var supportedCulture in supportedCultures) { if (availableCultures.Any(x => x.Name == supportedCulture.Name)) { continue; } var id = m_cultureUoW.AddCulture(supportedCulture.Name); var culture = m_cultureUoW.GetCultureById(id); availableCultures.Add(culture); } var cultureHierarchies = m_cultureHierarchyUoW.FindAllCultureHierarchies(); foreach (var availableCulture in availableCultures) { var parentCulture = new CultureInfo(availableCulture.Name); byte level = 0; while (parentCulture != null) { var parentCultureEntity = availableCultures.First(x => x.Name == parentCulture.Name); if (!cultureHierarchies.Any(x => x.Culture.Equals(availableCulture) && x.ParentCulture.Equals(parentCultureEntity) )) { m_cultureHierarchyUoW.AddCultureHierarchy( availableCulture, parentCultureEntity, level ); } level++; parentCulture = m_fallbackCultureResolver.FallbackCulture(parentCulture); } } }