public static void Main(string[] args) { Administration admin = new Administration(); admin.WaehlerErstellen("Kevin", "Peters", "123242"); admin.WaehlerErstellen("Daniel", "Nehrig", "13371337"); admin.WaehlerErstellen("Bjarne", "Christel", "44448888"); admin.ParteiErstellen("CDU", "MERKEL"); admin.ParteiErstellen("SPD", "KLOPPERT"); admin.ParteiErstellen("AFD", "MONGA"); admin.ParteiErstellen("DIE PARTEI", "TONKA"); Console.WriteLine("Login"); Console.WriteLine("Firstname : "); string firstName = Console.ReadLine(); Console.WriteLine("Lastname : "); string lastName = Console.ReadLine(); Console.WriteLine("Key : "); string key = Console.ReadLine(); Waehler waehler = admin.GetWaehler(firstName, lastName); Console.WriteLine("Vote for : CDU, SPD, AFD"); Console.WriteLine("Vote : "); string parteiName = Console.ReadLine(); Partei partei = admin.GetPartei(parteiName); admin.Vote(waehler, partei, key); admin.ParteinAnzeigen(); }
public Partei GetPartei(string name) { Partei partei = null; try { cnn.Open(); string sql = String.Format("select * from partei where name = '{0}'", name); SqliteCommand command = new SqliteCommand(sql, cnn); SqliteDataReader reader = command.ExecuteReader(); while (reader.Read()) { if (reader.GetString(1) == name) { partei = new Partei(reader); } } cnn.Close(); } catch (Exception ex) { Console.WriteLine("Error While Get Partei\n" + ex); } return(partei); }
public bool Vote(Waehler waehler, Partei partei, string key) { try { cnn.Open(); if (waehler.key == key && !waehler.voted) { string sql = String.Format(@"UPDATE waehler SET voted = 1 WHERE firstName = '{0}' AND lastName = '{1}'; UPDATE partei SET votes = votes + 1 WHERE name = '{2}';", waehler.firstName, waehler.lastName, partei.name); SqliteCommand command = new SqliteCommand(sql, cnn); command.ExecuteNonQuery(); } else { throw new OperationCanceledException("Either wrong Key or allready voted"); } cnn.Close(); return(true); } catch (Exception ex) { Console.WriteLine("Error While Updating Waehler and incrementing count on Partei\n" + ex); return(false); } }
static void Main(string[] args) { string resultsUrl = "http://www.bundeswahlleiter.de/de/bundestagswahlen/BTW_BUND_09/ergebnisse/wahlkreisergebnisse/"; string bundeslandPageContent = DownloadPage(resultsUrl); if (bundeslandPageContent == null) { Console.WriteLine("Bundesländer konnten nicht geladen werden. Abbruch."); return; } SimpleListItem[] bundeslandList = ParseSimpleList(bundeslandPageContent); List<Bundesland> bundeslaender = new List<Bundesland>(); foreach(var curBundesland in bundeslandList) { Bundesland newBL = new Bundesland(); newBL.Name = curBundesland.Name; newBL.Wahlkreise = new List<Wahlkreis>(); string blUri = resultsUrl + curBundesland.Link; Console.WriteLine("Parse Bundesland " + curBundesland.Name + " ..."); //Parse Wahlkreise string blWahlkreisePageContent = DownloadPage(blUri); if (blWahlkreisePageContent == null) { Console.WriteLine("Wahlkreise konnten nicht geladen werden. Abbruch."); return; } SimpleListItem[] blWahlkreiseList = ParseSimpleList(blWahlkreisePageContent); foreach (var curWahlkreis in blWahlkreiseList) { Wahlkreis newWK = new Wahlkreis(); Match wkNameMatch = WahlkreisNameRegex.Match(curWahlkreis.Name); if (wkNameMatch.Success) { newWK.Name = wkNameMatch.Groups["name"].Value; newWK.Nr = int.Parse(wkNameMatch.Groups["nr"].Value); } else newWK.Name = curWahlkreis.Name; Console.WriteLine(" Parse Wahlkreis " + newWK.Name + " ..."); //Parse Ergebnisse string wkErgebnisPageContent = DownloadPage(blUri + curWahlkreis.Link); if (wkErgebnisPageContent == null) { Console.WriteLine("Wahlkreise-Ergebnis konnte nicht geladen werden. Abbruch."); return; } var wkVotes = ParseVoteList(wkErgebnisPageContent); newWK.Wahlberechtigte = wkVotes["Wahlberechtigte"]; wkVotes.Remove("Wahlberechtigte"); newWK.Waehler = wkVotes["Wähler"]; wkVotes.Remove("Wähler"); newWK.Ungueltige = wkVotes["Ungültige"]; wkVotes.Remove("Ungültige"); newWK.Gueltige = wkVotes["Gültige"]; wkVotes.Remove("Gültige"); newWK.Parteien = new List<Partei>(); foreach (var curPartei in wkVotes) { Partei newPartei = new Partei() { Id=GetParteiId(curPartei.Key), Ergebnis=curPartei.Value}; newWK.Parteien.Add(newPartei); } newBL.Wahlkreise.Add(newWK); } bundeslaender.Add(newBL); } //Write to CSV StreamWriter csvWriter = new StreamWriter("Ergebnisse2009.csv", false, Encoding.UTF8); csvWriter.WriteLine("Bundestagswahl 2009"); csvWriter.WriteLine("Endgültig"); csvWriter.Write("Nr,Gebiet,gehört,Wahlberechtigte,,,,Wähler,,,,Ungültige,,,,Gültige,,,,"); foreach (string curPartei in ParteienDict.Keys) csvWriter.Write(curPartei + ",,,,"); csvWriter.Write(Environment.NewLine); csvWriter.Write(",,zu,"); for (int a = 1; a < CurParteienDictKey + 4; a++) csvWriter.Write("Erststimmen,,Zweitstimmen,,"); csvWriter.Write(Environment.NewLine); csvWriter.Write(",,,"); for (int a = 1; a < CurParteienDictKey + 4; a++) csvWriter.Write("Endgültig,,"); int CurBundeslandId = 1; foreach (var curBL in bundeslaender) { foreach(var curWK in curBL.Wahlkreise) { csvWriter.Write(curWK.Nr + ","); csvWriter.Write("\"" + curWK.Name + "\","); csvWriter.Write(CurBundeslandId + ","); WriteVotes(csvWriter, curWK.Wahlberechtigte); WriteVotes(csvWriter, curWK.Waehler); WriteVotes(csvWriter, curWK.Ungueltige); WriteVotes(csvWriter, curWK.Gueltige); foreach (var curPartei in ParteienDict) { bool foundPartei = false; foreach (var curWkPartei in curWK.Parteien) { if (curPartei.Value == curWkPartei.Id) { WriteVotes(csvWriter, curWkPartei.Ergebnis); foundPartei = true; } } if (!foundPartei) csvWriter.Write(",,,,"); } csvWriter.Write(Environment.NewLine); } csvWriter.Write(CurBundeslandId + ","); csvWriter.Write("\"" + curBL.Name + "\","); csvWriter.Write("99"); csvWriter.Write(Environment.NewLine); csvWriter.Write(Environment.NewLine); CurBundeslandId++; } csvWriter.Write("99,\"Bundesgebiet\""); csvWriter.Write(Environment.NewLine); csvWriter.Close(); Console.ReadLine(); }