Example #1
0
        /// <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;
                }
            }
        }