public void UserWantsToGoPartiallyOfflineFor(IEnumerable <VersionedAsset> asset) { if (asset.Any() == false) { return; } var assets = TfsFileStatusCache.Find(asset.Select(each => each.GetPath())); var caption = "Working Partially Offline"; string footer = "Be sure to resolve your offline modifications with TFS when finished."; var messageHeader = string.Format("You are now working with the following files offline, they can be edited and will appear checked out."); ShowWarningMessageBox(assets, caption, messageHeader, footer); }
public void WarnAboutBinaryFilesCheckedOutByOthers(IEnumerable <VersionedAsset> asset) { var assets = TfsFileStatusCache.Find(asset.Where(each => ShouldLock(each)).Select(each => each.GetPath())).Where(each => (each.IsRemoteLocked || each.IsRemoteCheckedOut)); if (assets.Any() == false) { return; } var caption = "Version Control Warning"; var messageHeader = "Other users are also working on the same non-mergable files"; string footer = string.Empty; footer = string.Format("The first user to submit their change to a non-mergable file ({0}) will prevent all other users who had the file checked out from submitting their change, resulting in lost work", ExclusiveCheckoutTypesToString()); ShowWarningMessageBox(assets, caption, messageHeader, footer); }
public void WarnAboutOutOfDateFiles(IEnumerable <VersionedAsset> asset) { var assets = TfsFileStatusCache.Find(asset.Select(each => each.GetPath())).Where(each => each.IsLocalLatest == false); if (assets.Any() == false) { return; } var caption = "Version Control Warning"; var messageHeader = "You do not have the latest versions of the following files"; string footer = string.Empty; footer = string.Format("Changes made to a non-mergable file ({0}) that is not the latest version will not be able to be checked in, resulting in lost work.", ExclusiveCheckoutTypesToString()); ShowWarningMessageBox(assets, caption, messageHeader, footer); }
public void WarnAboutFailureToPendChange(IEnumerable <VersionedAsset> asset) { if (asset.Any() == false) { return; } var caption = "Version Control Warning"; var messageHeader = "Unable to checkout to the following files"; string footer = string.Empty; var assets = TfsFileStatusCache.Find(asset.Select(each => each.GetPath())); if (assets.Any(each => each.IsRemoteLocked || each.IsRemoteCheckedOut)) { footer = string.Format("Only one user can hold a lock for check-in at a time, locks protect the lock owners work on non-mergable files ({0}).", ExclusiveCheckoutTypesToString()); } ShowWarningMessageBox(assets, caption, messageHeader, footer); }