/// <summary> /// Reverts a previous renaming operation based on its generated NamingResults. /// </summary> /// <param name="prevNamingResults">NamingResults of the rename operation to revert.</param> /// <returns>Returns a collection of NamingResult, one for each input NamingResult.</returns> public async Task <List <NamingResult> > Undo(List <NamingResult> prevNamingResults) { try { var count = 1; var namingResults = new List <NamingResult>(); IRenamer renamer = new PhysicalRenamer.Renamer(); prevNamingResults = prevNamingResults.Where(a => a.Success).ToList(); foreach (var prevNamingResult in prevNamingResults) { bool result = await renamer.Rename(prevNamingResult.ObjectType, prevNamingResult.NewName, prevNamingResult.OldName); var namingResult = new NamingResult(result, prevNamingResult.ObjectType, prevNamingResult.NewName, prevNamingResult.OldName); var eventArgs = new NamingProcessedEventArgs(Operation.Undo, namingResult, count++ *100 / prevNamingResults.Count); this.OnNamingProcessed(eventArgs); namingResults.Add(namingResult); } return(namingResults); } catch (Exception ex) { throw ex; } }
private void RenameEngine_NamingProcessed(object sender, NamingProcessedEventArgs e) { try { // update menues & tabs this.toolStripProgressBar.Value = (e.Operation == Operation.Rename) ? e.Progress : 100 - e.Progress; if (e.NamingResult.Success) { var listViewItem = this.listViewSelectedItems.Items.Find(e.NamingResult.OldName, false)[0]; listViewItem.Text = e.NamingResult.NewName; } // logs var status = $"* { e.NamingResult.OldName.Truncate(120) }{ Environment.NewLine } --> { e.NamingResult.NewName.Truncate(120) }{ Environment.NewLine }{ Environment.NewLine }"; this.sbActivityLogs.Append(status); LogHelper.LogInfo(status); Application.DoEvents(); } catch (Exception ex) { throw ex; } }
/// <summary> /// Renames NamingRequests files according to RenameSettings profile. /// </summary> /// <param name="namingRequests">List of requested objets to rename.</param> /// <returns>Returns a collection of NamingResult, one for each input NamingRequest.</returns> public async Task <List <NamingResult> > Rename(List <NamingRequest> namingRequests) { try { var count = 1; var namingResults = new List <NamingResult>(); new RenameEngineValidator(this.renameSettings.RenameType, this.renameSettings.Parameters, namingRequests).Validate(); BaseNaming naming = this.GetNamingPattern(this.renamer, this.renameSettings); foreach (var namingRequest in namingRequests) { NamingResult namingResult = await naming.Execute(namingRequest.ObjectType, namingRequest.CurrentName); var eventArgs = new NamingProcessedEventArgs(Operation.Rename, namingResult, count++ *100 / namingRequests.Count); this.OnNamingProcessed(eventArgs); namingResults.Add(namingResult); } return(namingResults); } catch (Exception ex) { throw ex; } }
protected virtual void OnNamingProcessed(NamingProcessedEventArgs e) { this.NamingProcessed?.Invoke(this, e); }