Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        protected override void OnTestInitialize()
        {
            ITFSSettingView view        = Container.GetExportedValue <ITFSSettingView>();
            IUriHelpView    uriHelpView = Container.GetExportedValue <IUriHelpView>();

            this.viewModel = new TFSSettingViewModel(view, uriHelpView);
        }
Exemplo n.º 3
0
        /// <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);
        }