public void SetAllLanguagesFrom(ILanguageDependentValue <T> value) { CheckLanguageVariantCompatibility(value); foreach (var language in Parent.Project.LanguageVariants) { this[language] = value[language]; } }
private void CheckLanguageVariantCompatibility(ILanguageDependentValue <T> value) { if (_parent.Session == value.Parent.Session && _parent.Project.Equals(value.Parent.Project)) { return; } if ( Parent.Project.LanguageVariants.Any( lang => !value.Parent.Project.LanguageVariants.ContainsName(lang.Name))) { throw new SmartAPIException(Parent.Session.ServerLogin, string.Format( "Unable to assign values for all languages from project {0} to project {1} as the language variants are incompatible", value.Parent.Project, _parent.Project)); } }