internal static void Open(List <ExtendedItem> items, Microsoft.TeamFoundation.VersionControl.Client.Workspace workspace) { using (var dialog = new CheckOutDialog()) { dialog.FillStore(items); if (dialog.Run(Xwt.Toolkit.CurrentEngine.WrapWindow(MessageService.RootWindow)) == Command.Ok) { var itemsToCheckOut = dialog.SelectedItems; using (var progress = VersionControlService.GetProgressMonitor("Check Out", VersionControlOperationType.Pull)) { progress.BeginTask("Check Out", itemsToCheckOut.Count); foreach (var item in itemsToCheckOut) { var path = item.IsInWorkspace ? item.LocalItem : workspace.GetLocalPathForServerPath(item.ServerPath); workspace.Get(new GetRequest(item.ServerPath, RecursionType.Full, VersionSpec.Latest), GetOptions.None, progress); progress.Log.WriteLine("Check out item: " + item.ServerPath); var failures = workspace.PendEdit(new List <FilePath> { path }, RecursionType.Full, dialog.LockLevel); if (failures != null && failures.Any()) { if (failures.Any(f => f.SeverityType == SeverityType.Error)) { foreach (var failure in failures.Where(f => f.SeverityType == SeverityType.Error)) { progress.ReportError(failure.Code, new Exception(failure.Message)); } break; } foreach (var failure in failures.Where(f => f.SeverityType == SeverityType.Warning)) { progress.ReportWarning(failure.Message); } } } progress.EndTask(); progress.ReportSuccess("Finish Check Out."); } } } }
internal static void Open(List<ExtendedItem> items, Microsoft.TeamFoundation.VersionControl.Client.Workspace workspace) { using (var dialog = new CheckOutDialog()) { dialog.FillStore(items); if (dialog.Run(Xwt.Toolkit.CurrentEngine.WrapWindow(MessageService.RootWindow)) == Command.Ok) { var itemsToCheckOut = dialog.SelectedItems; using (var progress = VersionControlService.GetProgressMonitor("Check Out", VersionControlOperationType.Pull)) { progress.BeginTask("Check Out", itemsToCheckOut.Count); foreach (var item in itemsToCheckOut) { var path = item.IsInWorkspace ? item.LocalItem : workspace.GetLocalPathForServerPath(item.ServerPath); workspace.Get(new GetRequest(item.ServerPath, RecursionType.Full, VersionSpec.Latest), GetOptions.None, progress); progress.Log.WriteLine("Check out item: " + item.ServerPath); var failures = workspace.PendEdit(new List<FilePath> { path }, RecursionType.Full, dialog.LockLevel); if (failures != null && failures.Any()) { if (failures.Any(f => f.SeverityType == SeverityType.Error)) { foreach (var failure in failures.Where(f => f.SeverityType == SeverityType.Error)) { progress.ReportError(failure.Code, new Exception(failure.Message)); } break; } foreach (var failure in failures.Where(f => f.SeverityType == SeverityType.Warning)) { progress.ReportWarning(failure.Message); } } } progress.EndTask(); progress.ReportSuccess("Finish Check Out."); } } } }