private void buttonProceedAnyway1_Click(object sender, EventArgs e)
{
HidePanels();
if (radioButtonOverwrite.Checked)
{
//Plain overwrite
Extract();
}
else if (radioButtonReplace.Checked)
{
//Reinstall
string result = String.Empty;
Manipulation.UninstallPackage(currentPackage, currentDatabaseFolder, ref result);
switch (currentPackage.PackageType)
{
case PackageType.Route:
for (int i = Database.currentDatabase.InstalledRoutes.Count -1; i >= 0; i--)
{
if (Database.currentDatabase.InstalledRoutes[i].GUID == currentPackage.GUID)
{
Database.currentDatabase.InstalledRoutes.RemoveAt(i);
}
}
DatabaseFunctions.cleanDirectory(Program.FileSystem.RouteInstallationDirectory, ref result);
break;
case PackageType.Train:
for (int i = Database.currentDatabase.InstalledTrains.Count - 1; i >= 0; i--)
{
if (Database.currentDatabase.InstalledTrains[i].GUID == currentPackage.GUID)
{
Database.currentDatabase.InstalledTrains.RemoveAt(i);
}
}
DatabaseFunctions.cleanDirectory(Program.FileSystem.TrainInstallationDirectory, ref result);
break;
case PackageType.Other:
for (int i = Database.currentDatabase.InstalledOther.Count - 1; i >= 0; i--)
{
if (Database.currentDatabase.InstalledOther[i].GUID == currentPackage.GUID)
{
Database.currentDatabase.InstalledOther.RemoveAt(i);
}
}
break;
}
Extract();
}
}