private IntroductionStateEnum CheckFolderRenameState(DisableIntroductionAction action) { // Check if folder exists var expectedInitialDirectoryName = action.InitialName; var directoryIsInInitialState = Directory.Exists(_installationPath.FullName + "\\" + expectedInitialDirectoryName); // Return status return(directoryIsInInitialState ? IntroductionStateEnum.Enabled : IntroductionStateEnum.Disabled); }
private IntroductionStateEnum CheckFileRenameState(DisableIntroductionAction action) { // Check if file exists var expectedInitialFileName = action.InitialName; var fileIsInInitialState = File.Exists(_installationPath.FullName + "\\" + expectedInitialFileName); // Return status return(fileIsInInitialState ? IntroductionStateEnum.Enabled : IntroductionStateEnum.Disabled); }
private bool DispatchActionsPerType(DisableIntroductionAction action) { switch (action.Type) { case DisableActionTypeEnum.FileRename: return(ProcessRenameFile(action)); case DisableActionTypeEnum.FolderRename: return(ProcessRenameFolder(action)); case DisableActionTypeEnum.ShortcutEdition: return(ProcessEditShortcut(action)); default: throw new Exception($"DisableActionTypeEnum {action.Type} not found"); } }
private IntroductionStateEnum GetStateFromAction(DisableIntroductionAction action) { switch (action.Type) { case DisableActionTypeEnum.FileRename: return(CheckFileRenameState(action)); case DisableActionTypeEnum.FolderRename: return(CheckFolderRenameState(action)); case DisableActionTypeEnum.ShortcutEdition: return(CheckShortcutEdition(action)); default: throw new Exception($"DisableActionTypeEnum {action.Type} not known"); } }
protected override bool ProcessRenameFile(DisableIntroductionAction action) { try { var pattern = GetCleanPath($"{_detectionResult.InstallationPath}\\{action.InitialName}"); var pathsToRename = _pathPatternTranslator.GetPathFromPattern(pattern); foreach (var path in pathsToRename) { var destinationFileFullPath = $@"{path}{GlobalNamesStruct.RenameSuffix}"; _fileRenamer.RenameFile(path, destinationFileFullPath); } return(true); } catch (Exception) { return(false); } }
protected override bool ProcessRenameFolder(DisableIntroductionAction action) { try { var directoryFullPath = $"{_detectionResult.InstallationPath}\\{action.InitialName}"; var destinationDirectoryFullPath = $"{_detectionResult.InstallationPath}\\{action.InitialName}{GlobalNamesStruct.RenameSuffix}"; if (Directory.Exists(destinationDirectoryFullPath)) { File.Delete(destinationDirectoryFullPath); } Directory.Move(directoryFullPath, destinationDirectoryFullPath); return(true); } catch (Exception) { return(false); } }
protected abstract bool ProcessEditShortcut(DisableIntroductionAction action);
protected abstract bool ProcessRenameFolder(DisableIntroductionAction action);
private IntroductionStateEnum CheckShortcutEdition(DisableIntroductionAction action) { throw new NotImplementedException(); }
protected override bool ProcessEditShortcut(DisableIntroductionAction action) { throw new NotImplementedException(); }