예제 #1
0
 private static Wedstrijd getWedstrijd(int p)
 {
     if (_dbContext.Wedstrijden.Local.Any(c => c.WedstrijdtNummer == p))
     {
         return(_dbContext.Wedstrijden.Local.Single(b => b.WedstrijdtNummer == p));
     }
     else
     {
         Wedstrijd w = new Wedstrijd()
         {
             WedstrijdtNummer = p
         };
         _dbContext.Wedstrijden.Add(w);
         return(w);
     }
 }
예제 #2
0
        static void Main(string[] args)
        {
            Dictionary <int, string> playerTeam = new Dictionary <int, string>();

            Console.WriteLine("<<<<CREATE DATABASE>>>>");
            _dbContext = new WPFSportDbContext();
            _dbContext.Database.Delete();
            string[] lines = File.ReadAllLines(@"S:\Files\databases\databases\databases\ledenEnBoetes.txt");
            for (int i = 1; i < lines.Length; i++)
            {
                string[] splitted = lines[i].Split(new string[] { "," }, StringSplitOptions.None);
                //"gebjaar","s","jaarlid","snummer","adres","naam","bnummer","team","bedrag_boete","boete_wedstrijd","toelichting"
                //1970,     "m",1990,1,"spoorstraat 24","Pietersen",23,"s5",,,""
                List <string> values = new List <string>(splitted);
                for (int w = 0; w < values.Count; w++)
                {
                    values[w] = values[w].Replace("\"", "");
                }
                Lid lid = new Lid();
                if (string.IsNullOrEmpty(values[6]) == false)
                {
                    lid = new WedstrijdtSpeler();
                    ((WedstrijdtSpeler)lid).Bondsnummer = int.Parse(values[6]);
                }

                lid.SpelersNummer = int.Parse(values[3]);
                if (string.IsNullOrEmpty(values[7]) == false)
                {
                    if (playerTeam.ContainsKey(lid.SpelersNummer) == false)
                    {
                        playerTeam.Add(lid.SpelersNummer, values[7]);
                    }
                }
                if (!Lidadded(lid.SpelersNummer))
                {
                    lid.GeboorteJaar    = int.Parse(values[0]);
                    lid.Geslacht        = values[1];
                    lid.ToetredingsJaar = int.Parse(values[2]);
                    lid.Adres           = values[4];
                    lid.Naam            = values[5];

                    if (string.IsNullOrEmpty(values[6]) == false)
                    {
                        _dbContext.WedstrijdtSpelers.Add((WedstrijdtSpeler)lid);
                    }

                    _dbContext.Leden.Add(lid);
                }
                //"bedrag_boete","boete_wedstrijd","toelichting"
                if (string.IsNullOrEmpty(values[8]) == false)
                {
                    Boete b = new Boete();
                    b.Bedrag     = int.Parse(values[8]);
                    b.Wedstrijdt = getWedstrijd(int.Parse(values[9]));
                    b.Speler     = (lid);
                    if (string.IsNullOrEmpty(values[10]) == false)
                    {
                        b.Toelichting = values[10];
                    }
                    _dbContext.Boetes.Add(b);
                }
            }
            _dbContext.SaveChanges();



            //read file 2

            /*
             * "teamcode"
             * ,"trainer"
             * ,"leeftijdsklasse","sexe","4traindag","5traintijd","6trainlengte","7trainzaal","8zaaladres","9zaaltel","10wedstrijdnummer","11scheids","12wedstrijddatum","13wedstrijdtijd","14tegenstander","15wedstrijdzaal"
             * "g1",3,"gemegnd","o",2,"",2,"fondsbad","neerslag 5","058-9887765",1,24,"2015-01-30","","zuid 12","fondsbad"*/


            lines = File.ReadAllLines(@"S:\Files\databases\databases\databases\teamsEnWedstrijden.txt");
            for (int i = 1; i < lines.Length; i++)
            {
                string[]      parts  = lines[i].Split(new string[] { "," }, StringSplitOptions.None);
                List <string> values = new List <string>(parts);
                for (int w = 0; w < values.Count; w++)
                {
                    values[w] = values[w].Replace("\"", "");
                }
                //"7trainzaal","8zaaladres","9zaaltel"
                if (string.IsNullOrWhiteSpace(values[9]) == false)
                {
                    Zaal z = new Zaal();
                    z.TelefoonNR = values[9];
                    z.Adres      = values[8];
                    z.Naam       = values[7];
                    if (_dbContext.zalen.Local.Any(b => b.Naam == z.Naam) == false)
                    {
                        _dbContext.zalen.Add(z);
                    }
                }

                /*"teamcode"
                 * ,"trainer"
                 * ,"leeftijdsklasse","sexe"*/
                Team t = getTeam(values[0]);
                t.TeamCode        = values[0];
                t.Trainer         = _dbContext.Leden.Local.Single(b => b.SpelersNummer == int.Parse(values[1]));
                t.LeeftijdsKlasse = values[2];
                t.Sexe            = values[3];

                t.Spelers.AddRange(playerTeam.Where(b => b.Value == t.TeamCode).Select(c => _dbContext.Leden.Local.Where(s => s.SpelersNummer == c.Key).First()).ToList());
                if (_dbContext.Teams.Local.Any(b => b == t) == false)
                {
                    _dbContext.Teams.Add(t);
                }

                /*"8zaaladres","9zaaltel",
                 * "10wedstrijdnummer","11scheids",
                 * "12wedstrijddatum","13wedstrijdtijd",
                 * "14tegenstander","15wedstrijdzaal"*/
                if (string.IsNullOrWhiteSpace(values[10]) == false)
                {
                    Wedstrijd w = getWedstrijd(int.Parse(values[10]));
                    w.Scheidsrechter  = _dbContext.Leden.Local.Single(b => b.SpelersNummer == int.Parse(values[11]));
                    w.WedstrijdtDatum = values[12];
                    w.GespeeldTegen   = values[14];
                    w.GespeeldIn      = _dbContext.zalen.Local.Single(b => b.Naam == values[15]);
                    w.Team            = t;
                }
                //"0teamcode","4traindag","5traintijd","6trainlengte","7trainzaal"
                if (string.IsNullOrWhiteSpace(values[4]) == false)
                {
                    if (t.Trainingen.Any(b => b.dagVanWeek == int.Parse(values[4])) == false)
                    {
                        Training train = new Training();
                        train.dagVanWeek = int.Parse(values[4]);
                        train.Duur       = int.Parse(values[6]);
                        train.zaal       = _dbContext.zalen.Local.Single(b => b.Naam == values[7]);
                        t.Trainingen.Add(train);
                    }
                }
            }


            for (int i = 0; i < _dbContext.Leden.Local.Count; i++)
            {
                if (_dbContext.Leden.Local[i].Naam == null)
                {
                    _dbContext.Leden.Local.RemoveAt(i);
                    i--;
                }
            }
            try
            {
                _dbContext.SaveChanges();
            }
            catch (Exception e)
            {
                Console.Write(e);
            }

            Console.WriteLine("<<<<DATABASE CREATED>>>>");
            ShowMenu();
        }