private void LanguagesSelectionChangedMethod() { if (SelectedLanguages == null) { SelectedLanguages = new ObservableCollection <Models.UserPageModel.LanguagesList>(); } if (SelectedLanguages.Count > LanguagesConditions.Count) { foreach (var selectedLanguage in SelectedLanguages) { if (LanguagesConditions.Where(s => s.Language.Id == selectedLanguage.Id).FirstOrDefault() == null) { LanguagesConditions.Add(new LanguageCondition { Language = selectedLanguage, From = LanguageLevels.First(), To = LanguageLevels.Last() }); return; } } } if (SelectedLanguages.Count < LanguagesConditions.Count) { foreach (var languageCondition in LanguagesConditions) { if (SelectedLanguages.Where(s => s.Id == languageCondition.Language.Id).FirstOrDefault() == null) { var language = LanguagesConditions.Where(s => s.Language.Id == languageCondition.Language.Id).FirstOrDefault(); if (language == null) { return; } LanguagesConditions.Remove(language); return; } } } }