async void Search() { Working = true; DisplayIsIndeterminate = true; Workspaces.Clear(); Shelvesets.Clear(); if (SearchWorkspaces) { List <Workspace> workspacesFilterByDays = new List <Workspace>(); await Task.Run(() => { var allWorkspacesForUser = TfsShared.Instance.Vcs.QueryWorkspaces(null, Owner.UserName, null); workspacesFilterByDays.AddRange(allWorkspacesForUser.Where(w => w.LastAccessDate < DateTime.Now.AddDays(-this.MaxDays)) .Where(w => w.Folders.Any(s => s.ServerItem.StartsWith(string.Format("$/{0}", TfsShared.Instance.ProjectInfo.Name))))); }); if (workspacesFilterByDays != null) { foreach (var ws in workspacesFilterByDays) { Workspaces.AddOnUi(ws); } } } if (SearchShelvesets) { IEnumerable <Shelveset> shelvsetesFilterByDays = null; await Task.Run(() => { var allShelvsetes = TfsShared.Instance.Vcs.QueryShelvesets(null, Owner.UserName); shelvsetesFilterByDays = allShelvsetes.Where(w => w.CreationDate < DateTime.Now.AddDays(-this.MaxDays)); }); if (shelvsetesFilterByDays != null) { foreach (var sh in shelvsetesFilterByDays) { Shelvesets.AddOnUi(sh); } } } Working = false; DisplayIsIndeterminate = false; }