public TFSSettingViewModel(ITFSSettingView view, IUriHelpView uriHelpView) : base(view) { if (uriHelpView == null) { throw new ArgumentNullException("uriHelpView"); } this.uriHelpView = uriHelpView; this.uriHelpCommand = new DelegateCommand(OpenUriHelpCommandExcute); this.propertyMappingCollection = new PropertyMappingDictionary(); this.tfsFields = new ObservableCollection <TFSField>(); this.bugFilterFields = new ObservableCollection <TFSField>(); this.priorityValues = new ObservableCollection <CheckString>(); PropertyDescriptorCollection propertyDescriptorCollection = TypeDescriptor.GetProperties(typeof(Bug)); foreach (PropertyDescriptor propertyDescriptor in propertyDescriptorCollection) { if (propertyDescriptor.Name == "Type") { continue; } var mapping = new MappingModel(propertyDescriptor.Name); this.propertyMappingCollection.Add(mapping); AddWeakEventListener(mapping, PropertyMappingModelPropertyChanged); } ClearMappingData(); }
protected override void OnTestInitialize() { ITFSSettingView view = Container.GetExportedValue <ITFSSettingView>(); IUriHelpView uriHelpView = Container.GetExportedValue <IUriHelpView>(); this.viewModel = new TFSSettingViewModel(view, uriHelpView); }
/// <summary> /// Initializes the setting dialog. /// </summary> /// <returns></returns> public override ISettingView InitializeSettingDialog() { if (this.settingViewModel == null) { ITFSSettingView view = this.container.GetExportedValue <ITFSSettingView>(); IUriHelpView uriHelpView = this.container.GetExportedValue <IUriHelpView>(); this.settingViewModel = new TFSSettingViewModel(view, uriHelpView); this.settingViewModel.TestConnectionCommand = this.testConnectionCommand; } RemoveWeakEventListener(this.settingViewModel, SettingViewModelPropertyChanged); this.settingViewModel.ClearMappingData(); this.settingViewModel.ConnectUri = this.document.ConnectUri; this.settingViewModel.UserName = this.document.UserName; this.settingViewModel.Password = this.document.Password; foreach (var mapping in this.document.PropertyMappingCollection) { this.settingViewModel.PropertyMappingCollection[mapping.Key] = mapping.Value; } foreach (var field in this.tfsFieldsCache) { this.settingViewModel.TFSFields.Add(field); if (field.AllowedValues.Any()) { this.settingViewModel.BugFilterFields.Add(field); } } this.settingViewModel.BugFilterField = this.document.BugFilterField; this.settingViewModel.BugFilterValue = this.document.BugFilterValue; this.settingViewModel.PriorityRed = this.document.PriorityRed; UpdateSettingDialogPriorityValues(); if (this.CanQuery) { if (string.IsNullOrWhiteSpace(this.settingViewModel.BugFilterField) && string.IsNullOrWhiteSpace(this.settingViewModel.BugFilterValue) && this.settingViewModel.PropertyMappingCollection .Where(x => !ignoreField.Contains(x.Key)) .Any(x => { return(string.IsNullOrWhiteSpace(x.Value)); })) { this.settingViewModel.ProgressType = ProgressTypes.SuccessWithError; } else { this.settingViewModel.ProgressType = ProgressTypes.Success; } this.settingViewModel.ProgressValue = 100; } AddWeakEventListener(this.settingViewModel, SettingViewModelPropertyChanged); return(this.settingViewModel.View as ISettingView); }