private void openController(string path, int conversionType, int i) { try { if (i == schemaPaths.Count) { MessageBox.Show("The program failed to convert!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { switch (conversionType) { case 0: ClearInterface(); dbFile = new DatabaseFile(path, schemaPaths[i]); WriteErrorLog(dbFile.LoadErrors); for (int j = 0; j < dbFile.Tables.Count; j++) { tableListBox.Items.Add(dbFile.Tables[j].TableName); } fileName = path; this.Text = "Ego Database Editor - " + path; break; case 1: dbFile.Write(File.Open(path, FileMode.Create, FileAccess.Write, FileShare.Read)); this.Text = "Ego Database Editor - " + path; break; case 2: ClearInterface(); dbFile = new DatabaseFile(path); WriteErrorLog(dbFile.LoadErrors); for (int j = 0; j < dbFile.Tables.Count; j++) { tableListBox.Items.Add(dbFile.Tables[j].TableName); } fileName = path; this.Text = "Ego Database Editor - " + path; break; case 3: dbFile.WriteXML(path); this.Text = "Ego Database Editor - " + path; break; default: MessageBox.Show("Incorrect Conversion Type! 0 - binToXml, 1 - xmlToBin", "Incorrect Conversion Type", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } } catch { if (conversionType == 0) { openController(path, conversionType, i + 1); } else { openController(string.Empty, -1, schemaPaths.Count); } } }