/// <summary> /// Performs reverting local files to files under source control</summary> /// <param name="doing">True iff doing the command</param> /// <returns>True iff any documents reverted or can be reverted</returns> protected virtual bool DoRevert(bool doing) { if (SourceControlService == null || SourceControlContext == null) { return(false); } foreach (IResource resource in SourceControlContext.Resources) { SourceControlStatus status = GetStatus(resource); if (status != SourceControlStatus.CheckedOut && status != SourceControlStatus.Added) { return(false); } } if (doing) { // user must confirm revert DialogResult dialogResult = MessageBox.Show(m_mainForm, "All changes will be lost. Do you want to proceed?".Localize(), "Proceed with Revert?".Localize(), MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { foreach (IResource resource in SourceControlContext.Resources) { SourceControlStatus status = GetStatus(resource); if (status == SourceControlStatus.CheckedOut || status == SourceControlStatus.Added) { SourceControlService.Revert(resource.Uri); Reload(resource); } } } } return(true); }
/// <summary> /// Perform the Revert command</summary> /// <param name="doing">True to perform the Revert; false to test whether Revert can be done</param> /// <returns>True iff Revert can be done or was done</returns> protected virtual bool DoRevert(bool doing) { if (SourceControlService == null || SourceControlContext == null) { return(false); } foreach (IResource resource in SourceControlContext.Resources) { SourceControlStatus status = GetStatus(resource); if (status != SourceControlStatus.CheckedOut && status != SourceControlStatus.Added && status != SourceControlStatus.Deleted) { return(false); } } if (doing) { // user must confirm revert var dialogResult = MessageBoxes.Show("All Changes will be lost. Do you want to proceed?".Localize(), "Proceed with Revert?".Localize(), MessageBoxButton.YesNo, MessageBoxImage.Question); if (dialogResult == MessageBoxResult.Yes) { foreach (IResource resource in SourceControlContext.Resources.ToArray()) { SourceControlStatus status = GetStatus(resource); if (status == SourceControlStatus.CheckedOut || status == SourceControlStatus.Added || status == SourceControlStatus.Deleted) { SourceControlService.Revert(resource.Uri); Reload(resource); } } } } return(true); }