Example #1
0
        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();
        }
Example #2
0
        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);
        }
Example #3
0
 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);
     }
 }
Example #4
0
        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();
        }