internal TTaskInfoBlock GetBlock <TTaskInfoBlock>(InstallationModes mode) where TTaskInfoBlock : TaskInfoBlock, new() { TaskInfoBlock taskInfoBlock = null; this.blocks.TryGetValue(mode, out taskInfoBlock); switch (mode) { case InstallationModes.Install: case InstallationModes.Uninstall: if (taskInfoBlock == null) { taskInfoBlock = Activator.CreateInstance <TTaskInfoBlock>(); this.blocks[mode] = taskInfoBlock; } break; case InstallationModes.BuildToBuildUpgrade: case InstallationModes.DisasterRecovery: if (taskInfoBlock == null) { taskInfoBlock = Activator.CreateInstance <TTaskInfoBlock>(); this.blocks[mode] = taskInfoBlock; } else if (taskInfoBlock.UseInstallTasks) { taskInfoBlock = this.GetBlock <TTaskInfoBlock>(InstallationModes.Install); } break; } return((TTaskInfoBlock)((object)taskInfoBlock)); }
public string GetTask(InstallationModes mode, InstallationCircumstances circumstance) { TaskInfoBlock taskInfoBlock = null; if (this.blocks.TryGetValue(mode, out taskInfoBlock) && (mode == InstallationModes.BuildToBuildUpgrade || mode == InstallationModes.DisasterRecovery) && taskInfoBlock.UseInstallTasks) { this.blocks.TryGetValue(InstallationModes.Install, out taskInfoBlock); } if (taskInfoBlock != null) { return(taskInfoBlock.GetTask(circumstance)); } return(string.Empty); }
public bool IsFatal(InstallationModes mode) { bool flag = true; TaskInfoBlock taskInfoBlock = null; if (this.blocks.TryGetValue(mode, out taskInfoBlock)) { flag = taskInfoBlock.IsFatal; if ((mode == InstallationModes.BuildToBuildUpgrade || mode == InstallationModes.DisasterRecovery) && taskInfoBlock.UseInstallTasks && flag && this.blocks.TryGetValue(InstallationModes.Install, out taskInfoBlock)) { flag = taskInfoBlock.IsFatal; } } return(flag); }
public int GetWeight(InstallationModes mode) { int num = 1; TaskInfoBlock taskInfoBlock = null; if (this.blocks.TryGetValue(mode, out taskInfoBlock)) { num = taskInfoBlock.Weight; if ((mode == InstallationModes.BuildToBuildUpgrade || mode == InstallationModes.DisasterRecovery) && taskInfoBlock.UseInstallTasks && num == 1 && this.blocks.TryGetValue(InstallationModes.Install, out taskInfoBlock)) { num = taskInfoBlock.Weight; } } return(num); }
public string GetDescription(InstallationModes mode) { string text = string.Empty; TaskInfoBlock taskInfoBlock = null; if (this.blocks.TryGetValue(mode, out taskInfoBlock)) { text = taskInfoBlock.DescriptionId; if ((mode == InstallationModes.BuildToBuildUpgrade || mode == InstallationModes.DisasterRecovery) && taskInfoBlock.UseInstallTasks && string.IsNullOrEmpty(text) && this.blocks.TryGetValue(InstallationModes.Install, out taskInfoBlock)) { text = taskInfoBlock.DescriptionId; } } return(text ?? string.Empty); }
internal void SetBlock(InstallationModes mode, TaskInfoBlock infoBlock) { this.blocks[mode] = infoBlock; }