Пример #1
0
        private async void GetChangesetAsync(CancellationToken ct)
        {
            ITfsServer tfs = new TfsServer(GlobalSettings.TFSServerURL);

            _changesets = new TfsChangesets(tfs, ErrorHandler);
            Model.FoundMoreItemsAfterInitialSearch = false; //making this variable initialized in each call. Once anything found will be set to true
            Model.IsSearchingMode   = true;
            HasRequestedToForceStop = false;

            Action onErrorOrComplete = () => Application.Current.Dispatcher.Invoke(
                DispatcherPriority.Background,
                new Action(() =>
            {
                DisableLoadNotificatioChangeset.Invoke();
                SearchButtonTextReset.Invoke();
                Model.IsSearchingMode = false;
            }));

            var changesets = await _changesets.GetAsync(_searchOptions);

            if (changesets == null)
            {
                onErrorOrComplete();
                return;
            }

            var changesetToLoad = changesets.ToObservable();

            Action <ChangesetViewModel> addChangesetToCollection = changeset =>
            {
                if (HasRequestedToForceStop)
                {
                    return;
                }
                Model.ChangeSetCollection.Add(changeset);
                if (Model.ChangeSetCollection.Count > GlobalSettings.SearchPageSize && !Model.FoundMoreItemsAfterInitialSearch)
                {
                    Model.FoundMoreItemsAfterInitialSearch = true;
                }
            };

            try
            {
                changesetToLoad.Subscribe(c =>
                                          Application.Current.Dispatcher.Invoke(
                                              DispatcherPriority.Background,
                                              new Action <ChangesetViewModel>(addChangesetToCollection),
                                              c),
                                          ex => onErrorOrComplete(),
                                          onErrorOrComplete,
                                          ct
                                          );
            }
            catch (QueryCancelRequest) { } //do nothing
            catch (Exception ex)
            {
                ErrorHandler(ex);
            }
        }
Пример #2
0
        public void OpenChangesetWindow(string changesetId, bool requiresVerification = false)
        {
            if (string.IsNullOrEmpty(changesetId))
            {
                return;
            }

            if (changesetId == "0")
            {
                return;
            }

            int intChangesetID;

            int.TryParse(changesetId, out intChangesetID);

            if (!changesetId.Trim().Equals(intChangesetID.ToString()))
            {
                return;
            }

            if (!IsVisualStudioIsConnectedToTfs())
            {
                return;
            }

            if (requiresVerification)
            {
                ITfsServer tfs = new TfsServer(GlobalSettings.TFSServerURL);
                _changesets = new TfsChangesets(tfs, ErrorHandler);
                var changeset = _changesets.Get(int.Parse(changesetId));
                if (changeset == null)
                {
                    return;
                }
            }

            var cId = int.Parse(changesetId);

            if (cId == 0)
            {
                return;
            }

            TeamExplorer.NavigateToPage(new Guid(TeamExplorerPageIds.ChangesetDetails), cId);
        }
Пример #3
0
        static void Main(string[] args)
        {
            // Configure your settings in the project settings
            var TfsServerUri = Properties.Settings.Default.TfsUri;

            TfsServer srv = new TfsServer(TfsServerUri);

            foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(srv))
            {
                string name  = descriptor.Name;
                object value = descriptor.GetValue(srv);
                Console.WriteLine("{0}={1}", name, value);
            }


            Console.WriteLine("\nPress any key to continue");
            Console.ReadKey();
            //srv.Connect();
        }