public void Seed(bool writeFile = false) { Randomizer.Seed = new Random(152111); Faker f = new Faker(); var klassen = new List <Klasse> { new Klasse { Name = "1AHIF", Abteilung = "HIF", Jahrgang = 1 }, new Klasse { Name = "1BHIF", Abteilung = "HIF", Jahrgang = 1 }, new Klasse { Name = "1CHIF", Abteilung = "HIF", Jahrgang = 1 }, new Klasse { Name = "2AHIF", Abteilung = "HIF", Jahrgang = 2 }, new Klasse { Name = "2BHIF", Abteilung = "HIF", Jahrgang = 2 }, new Klasse { Name = "2CHIF", Abteilung = "HIF", Jahrgang = 2 }, new Klasse { Name = "1AHBGM", Abteilung = "HBGM", Jahrgang = 1 }, new Klasse { Name = "1BHBGM", Abteilung = "HBGM", Jahrgang = 1 }, new Klasse { Name = "2AHBGM", Abteilung = "HBGM", Jahrgang = 2 }, new Klasse { Name = "2BHBGM", Abteilung = "HBGM", Jahrgang = 2 } }; Klassen.AddRange(klassen); var bewerbe = new List <Bewerb> { new Bewerb { BewerbId = 1001, Name = "100m Lauf" }, new Bewerb { BewerbId = 1002, Name = "400m Lauf" }, new Bewerb { BewerbId = 1003, Name = "5000m Lauf" } }; Bewerbe.AddRange(bewerbe); SaveChanges(); int schuelerId = 1001; var schuelerFaker = new Faker <Schueler>() .Rules((f, s) => { Name.Gender gender = f.Random.Enum <Name.Gender>(); s.SchuelerId = schuelerId++; s.Vorname = f.Name.FirstName(gender); s.Zuname = f.Name.LastName(gender); s.Geschlecht = gender == Name.Gender.Female ? "w" : "m"; s.Klasse = f.Random.ListItem(klassen); }); var schueler = schuelerFaker.Generate(100); Schueler.AddRange(schueler); SaveChanges(); var ergebnisse = new List <Ergebnis>(); foreach (int d in Enumerable.Range(1, 3)) { foreach (Bewerb b in bewerbe) { foreach (Schueler s in f.Random.ListItems(schueler, (int)(schueler.Count * 0.8))) { ergebnisse.Add(new Ergebnis { Schueler = s, Bewerb = b, Durchgang = d, Zeit = b.Name == "100m Lauf" ? Math.Round(f.Random.GaussianDecimal(15, 1.5), 2) : b.Name == "400m Lauf" ? Math.Round(f.Random.GaussianDecimal(80, 8), 2) : Math.Round(f.Random.GaussianDecimal(1100, 110), 2) }); } } } Ergebnisse.AddRange(ergebnisse.Where(e => e.Durchgang <= 2)); SaveChanges(); if (writeFile) { // Die Daten UTF8 codiert schreiben. Der Zeilenumbruch wird je nach Betriebssystem // verwendet (\r\n oder \n). Console.WriteLine("Schreibe die TXT Datei in ergebnisse.txt"); using (var fileStream = new StreamWriter("ergebnisse.txt", false, Encoding.UTF8)) { fileStream.WriteLine(string.Join("\t", "SCHUELER_ID", "SCHUELER_NAME", "BEWERB_ID", "BEWERB", "ZEIT", "DURCHGANG")); foreach (var e in ergebnisse) { fileStream.WriteLine(string.Join("\t", e.Schueler.SchuelerId, e.Schueler.Zuname, e.Bewerb.BewerbId, e.Bewerb.Name, e.Zeit, e.Durchgang)); } } } }
private void ExecuteAddErgebnisseCommand() => Ergebnisse.Add(new ErgebnissViewModel(new Model.Ergebniss()));