/// <summary> /// Runs all actions /// </summary> public void RunAllActions() { for (int i = 0; i < Actions.Count; i++) { switch (Actions[i].Type) { case PublisherTypes.ActionType.CreateDirectory: Actions[i].Result = PublisherIO.CreateDirectory(Actions[i].TargetPath, _CurrentUserSecurity); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.ArchiveDirectory: Actions[i].Result = PublisherIO.ArchiveDirectory(Actions[i].SourcePath, _CurrentUserSecurity, Actions[i].TargetPath); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.ArchiveDirectoryOverwrite: Actions[i].Result = PublisherIO.ArchiveDirectory(Actions[i].SourcePath, _CurrentUserSecurity, Actions[i].TargetPath, overwritearchive: true); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.ArchiveFile: Actions[i].Result = PublisherIO.ArchiveFile(Actions[i].SourcePath, _CurrentUserSecurity, Actions[i].TargetPath); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.ArchiveFileOverwrite: Actions[i].Result = PublisherIO.ArchiveFile(Actions[i].SourcePath, _CurrentUserSecurity, Actions[i].TargetPath, overwritearchvie: true); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.CopyFileToDirectory: Actions[i].Result = PublisherIO.CopyFileToDirectory(Actions[i].SourcePath, Actions[i].TargetPath, _CurrentUserSecurity, false); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.CopyFileToDirectoryOverwrite: Actions[i].Result = PublisherIO.CopyFileToDirectory(Actions[i].SourcePath, Actions[i].TargetPath, _CurrentUserSecurity, true); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.CopyFileToFile: Actions[i].Result = PublisherIO.CopyFileToFile(Actions[i].SourcePath, Actions[i].TargetPath, _CurrentUserSecurity, false); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; case PublisherTypes.ActionType.CopyFileToFileOverwrite: Actions[i].Result = PublisherIO.CopyFileToFile(Actions[i].SourcePath, Actions[i].TargetPath, _CurrentUserSecurity, true); ActionDone?.Invoke(i + 1, Actions.Count, Actions[i]); break; default: break; } } }