public static void ExportFiles(SQLiteConnection m_dbConnection) { Functions.ConsoleWrite("Welche Übungseinheit in Nummer möchten Sie exportieren?", ConsoleColor.DarkBlue); int uebungseinheit_number = Convert.ToInt32(Console.ReadLine()); AskIfExist(m_dbConnection, uebungseinheit_number); Functions.ConsoleWrite("Moechten Sie die Übungseinheiten mit Lösungen(1) exportieren oder nur die Übungsaufgaben(2) oder nur die Lösungen(3)?", ConsoleColor.DarkBlue); int numberUserInput = Convert.ToInt32(Console.ReadLine()); if (numberUserInput == 1 || numberUserInput == 2) { try { Functions.ConsoleWrite("Welche Uebungsaufgaben moechten Sie exportieren? Geben Sie jeweils P oder H oder T an. Trennen Sie Ihre Angaben bitte mit einem ','", ConsoleColor.DarkBlue); string userInput = Console.ReadLine(); ExportData.ExportUebungen(userInput, m_dbConnection, uebungseinheit_number, numberUserInput); } catch (Exception e) { Console.WriteLine(e); Functions.ConsoleWrite("Diese Eingabe war leider ungueltig. Bitte versuchen Sie es erneut. \n ", ConsoleColor.DarkYellow); } } else if (numberUserInput == 3) { ExportFromDB.ExportLoesungenTex(m_dbConnection, uebungseinheit_number); } }
public static void CreatePath(string sql, SQLiteConnection m_dbConnection, string filepath, int exportArt) { SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); SQLiteDataReader reader = command.ExecuteReader(); string aufgabe = ""; string loesung = ""; var aufgaben = new List <string>(); while (reader.Read()) { //schaut, was alles exportiert werden muss: Loesungen, Uebungen oder Uebungen mit Loesungen switch (exportArt) { case 1: aufgabe = ExportFromDB.ExportAufgaben(reader); loesung = ExportFromDB.ExportLoesungen(reader); aufgaben.Add(aufgabe + loesung); break; case 2: aufgabe = ExportFromDB.ExportAufgaben(reader); aufgaben.Add(aufgabe); break; case 3: loesung = ExportFromDB.ExportLoesungenForUser(reader); aufgaben.Add(loesung); aufgaben.Add("\n"); break; } } try { // Create the file, or overwrite if the file exists. using (FileStream fs = File.Create(@"..\..\..\..\" + filepath)) { for (int j = 0; j < aufgaben.Count; j++) { byte[] info = new UTF8Encoding(true).GetBytes(aufgaben[j]); // Add some information to the file. fs.Write(info, 0, info.Length); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
public static void AllUebungenFromNumner(string[] allInput) { Functions.ConsoleWrite("Sie haben folgende Übungen zur Auswahl: \n", ConsoleColor.DarkBlue); m_dbConnection.Open(); for (int i = 0; i < allInput.Length; i++) { int uebungseinheit = 0; try { uebungseinheit = Int32.Parse(allInput[i]); } catch (FormatException e) { Functions.ConsoleWrite("\n Diese Eingabe war leider ungueltig. \n", ConsoleColor.DarkRed); AllUebungenFromNumner(allInput); } string sql = "select ID, NameDerAufgabe, Uebungsnummer, Uebungsart from MKB where Uebungseinheit=" + allInput[i] + ""; SQLiteCommand command = new(sql, m_dbConnection); SQLiteDataReader reader = command.ExecuteReader(); List <Uebungen> uebungen = new(); while (reader.Read()) { string aufgabename = ExportFromDB.ExportNameDerAufgabe(reader); aufgabename = Functions.ReplaceStringToText(aufgabename); int aufgabennummer = Int32.Parse(ExportFromDB.ExportUebungsnummer(reader)); string id = ExportFromDB.ExportID(reader); int idNumber = Int32.Parse(id); string uebungsart = ExportFromDB.ExportUebungsart(reader); Uebungen uebung = new(aufgabename, aufgabennummer, uebungsart, idNumber); uebungen.Add(uebung); } for (int j = 0; j < uebungen.Count; j++) { Functions.ConsoleWrite(uebungen[j].GetUebungsart() + " || " + uebungen[j].GetAufgabennummer() + " || " + uebungen[j].GetName() + " || ID: " + uebungen[j].GetId(), ConsoleColor.DarkRed); } Console.WriteLine("\n"); } m_dbConnection.Close(); }
public static void UpdateDB(string[] userInputArray) { m_dbConnection.Open(); string sql = ""; List <Uebungen> uebungen = new List <Uebungen>(); Console.WriteLine(userInputArray.Length); for (int i = 0; i < userInputArray.Length; i++) { int id = Int32.Parse(userInputArray[i]); sql = "select * from MKB where ID=" + id + ""; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { uebungen.Add(ExportFromDB.ExportAll(reader)); } } sql = "update MKB set NamederAufgabe='" + Functions.ReplaceStringToDB(uebungen[0].GetName()) + "', Uebungsaufgabe='" + Functions.ReplaceStringToDB(uebungen[0].GetAufgabe()) + "', Loesung='" + Functions.ReplaceStringToDB(uebungen[0].GetLoesung()) + "' where ID='" + userInputArray[1] + "' "; Functions.sqlStatement(sql); sql = "update MKB set NamederAufgabe='" + Functions.ReplaceStringToDB(uebungen[1].GetName()) + "', Uebungsaufgabe='" + Functions.ReplaceStringToDB(uebungen[1].GetAufgabe()) + "', Loesung='" + Functions.ReplaceStringToDB(uebungen[1].GetLoesung()) + "' where ID='" + userInputArray[0] + "' "; Functions.sqlStatement(sql); m_dbConnection.Close(); }
public static void AddTask() { m_dbConnection.Open(); Functions.ConsoleWrite("In welcher Übungseinheit wollen Sie eine neue Aufgabe hinzufügen?", ConsoleColor.DarkBlue); string getInput = Console.ReadLine(); string[] allInput = getInput.Split(','); Functions.AllUebungenFromNumner(allInput); Functions.ConsoleWrite("Nach welcher ID möchten Sie die neue Aufgabe hinzufügen?", ConsoleColor.DarkBlue); string getUserInput = Console.ReadLine(); string sql = "SELECT COUNT(*) FROM MKB"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); int RowCount = Convert.ToInt32(command.ExecuteScalar()); RowCount += 1; int newId = RowCount; sql = "insert into MKB (ID) values (" + RowCount + ")"; Functions.sqlStatement(sql); int id = Int32.Parse(getUserInput) + 1; RowCount = RowCount - 1 - id; List <Uebungen> uebungen = new List <Uebungen>(); Uebungen newUebung = new Uebungen("name", 2, id); uebungen.Add(newUebung); for (int i = 0; i <= RowCount; i++) { int getid = id + i; sql = "select * from MKB where ID=" + getid + ""; command = new SQLiteCommand(sql, m_dbConnection); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { uebungen.Add(ExportFromDB.ExportAll(reader)); } } int idnumber = id; for (int i = 1; i < uebungen.Count; i++) { Functions.ConsoleWrite(uebungen[i].GetId().ToString() + "||" + uebungen[i].GetAufgabennummer(). ToString() + "||" + idnumber.ToString(), ConsoleColor.Red); int iduebungen = (uebungen[i].GetId()) + 1; int uebungsnummer = uebungen[i].GetAufgabennummer(); sql = "update MKB set NamederAufgabe='" + Functions.ReplaceStringToDB(uebungen[i].GetName()) + "', Uebungseinheit=" + uebungen[i].GetUebungseinheit() + ", Uebungsnummer=" + uebungsnummer + ", Uebungsart='" + uebungen[i].GetUebungsart() + "', WirdVerwendet=0, NamederAufgabe='" + Functions.ReplaceStringToDB(uebungen[i].GetName()) + "', Uebungsaufgabe='" + Functions.ReplaceStringToDB(uebungen[i].GetAufgabe()) + "', Loesung='" + Functions.ReplaceStringToDB(uebungen[i].GetLoesung()) + "' where ID=" + iduebungen + ""; Functions.sqlStatement(sql); uebungsnummer += 1; sql = "update MKB set Uebungsnummer=" + uebungsnummer + " where ID=" + iduebungen + " AND Uebungsart='" + uebungen[1].GetUebungsart() + "'"; Functions.sqlStatement(sql); idnumber++; } CreateNewPath(); Console.WriteLine("Tippen Sie 'weiter' sobald Sie die Übungsaufgabe geändert haben."); getUserInput = Console.ReadLine(); string[] fileinput = GetFileInput(); string loesung = ""; int uebungseinheit = Int32.Parse(allInput[0]); sql = "update MKB set Uebungseinheit=" + uebungseinheit + ", Uebungsnummer=" + uebungen[1].GetAufgabennummer() + ", Uebungsart='" + uebungen[1].GetUebungsart() + "', WirdVerwendet=0, NamederAufgabe='" + Functions.ReplaceStringToDB(fileinput[0]) + "', Uebungsaufgabe='" + Functions.ReplaceStringToDB(fileinput[1]) + "', Loesung='" + loesung + "' where ID=" + id + ""; Functions.sqlStatement(sql); m_dbConnection.Close(); }