Example #1
0
        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;
                    }
                }
            }
        }