public NamingStyleOptionPageViewModel(NamingStylePreferences info) { var viewModels = new List <NamingRuleViewModel>(); foreach (var namingRule in info.NamingRules) { var viewModel = new NamingRuleViewModel() { NamingStyles = new ObservableCollection <MutableNamingStyle>(info.NamingStyles.Select(n => new MutableNamingStyle(n))), Specifications = new ObservableCollection <SymbolSpecification>(info.SymbolSpecifications), NotificationPreferences = new List <NotificationOptionViewModel>(_notifications) }; viewModel.SelectedSpecification = viewModel.Specifications.Single(s => s.ID == namingRule.SymbolSpecificationID); viewModel.SelectedStyle = viewModel.NamingStyles.Single(s => s.ID == namingRule.NamingStyleID); viewModel.SelectedNotificationPreference = viewModel.NotificationPreferences.Single(n => n.Notification.Value == namingRule.EnforcementLevel); viewModels.Add(viewModel); } CodeStyleItems = new ObservableCollection <NamingRuleViewModel>(viewModels); Specifications = new ObservableCollection <SymbolSpecification>(info.SymbolSpecifications); NamingStyles = new ObservableCollection <MutableNamingStyle>(info.NamingStyles.Select(n => new MutableNamingStyle(n))); SetMoveArrowStatuses(); }
public NamingStyleOptionPageViewModel(SerializableNamingStylePreferencesInfo info) { var viewModels = new List<NamingRuleViewModel>(); foreach (var namingRule in info.NamingRules) { var viewModel = new NamingRuleViewModel(); viewModel.NamingStyles = new ObservableCollection<NamingStyle>(info.NamingStyles); viewModel.Specifications = new ObservableCollection<SymbolSpecification>(info.SymbolSpecifications); viewModel.NotificationPreferences = new List<EnforcementLevel>(_notifications); viewModel.SelectedSpecification = viewModel.Specifications.Single(s => s.ID == namingRule.SymbolSpecificationID); viewModel.SelectedStyle= viewModel.NamingStyles.Single(s => s.ID == namingRule.NamingStyleID); viewModel.SelectedNotificationPreference = viewModel.NotificationPreferences.Single(n => n.Name == new EnforcementLevel(namingRule.EnforcementLevel).Name); viewModels.Add(viewModel); } CodeStyleItems = new ObservableCollection<NamingRuleViewModel>(viewModels); Specifications = new ObservableCollection<SymbolSpecification>(info.SymbolSpecifications); NamingStyles = new ObservableCollection<NamingStyle>(info.NamingStyles); SetMoveArrowStatuses(); }
internal void RemoveItem(NamingRuleViewModel namingRuleViewModel) { CodeStyleItems.Remove(namingRuleViewModel); SetMoveArrowStatuses(); }
internal void AddItem(NamingRuleViewModel namingRuleViewModel) { CodeStyleItems.Add(namingRuleViewModel); SetMoveArrowStatuses(); }