private void SyncClubLokalen(IEnumerable<ClubEntity> clubs, Func<ClubEntity, string> getClubCode)
        {
            foreach (var dbClub in clubs)
            {
                var oldLokalen = _db.ClubLokalen.Where(x => x.ClubId == dbClub.Id).ToArray();

                var frenoyClubs = _frenoy.GetClubs(new GetClubs
                {
                    Club = getClubCode(dbClub)
                });

                var frenoyClub = frenoyClubs.ClubEntries.FirstOrDefault();
                if (frenoyClub == null)
                {
                    Debug.Print("Got some wrong CodeSporta/Vttl in legacy db: " + dbClub.Naam);
                }
                else if (frenoyClub.VenueEntries == null)
                {
                    Debug.Print("Missing frenoy data?: " + dbClub.Naam);
                }
                else if (frenoyClub.VenueEntries.Length < dbClub.Lokalen.Count)
                {
                    Debug.Print("we got better data...: " + dbClub.Naam);
                }
                else
                {
                    _db.ClubLokalen.RemoveRange(oldLokalen);

                    foreach (var frenoyLokaal in frenoyClub.VenueEntries)
                    {
                        //Debug.Assert(string.IsNullOrWhiteSpace(frenoyLokaal.Comment), "comments opslaan in db?");
                        Debug.Assert(frenoyLokaal.ClubVenue == "1");
                        var lokaal = new ClubLokaal
                        {
                            Lokaal = frenoyLokaal.Name,
                            Adres = frenoyLokaal.Street,
                            ClubId = dbClub.Id,
                            Gemeente = frenoyLokaal.Town.Substring(frenoyLokaal.Town.IndexOf(" ") + 1),
                            Telefoon = frenoyLokaal.Phone,
                            Postcode = int.Parse(frenoyLokaal.Town.Substring(0, frenoyLokaal.Town.IndexOf(" "))),
                            Hoofd = frenoyLokaal.ClubVenue == "1" ? 1 : 0
                        };
                        _db.ClubLokalen.Add(lokaal);
                    }
                }
            }
            _db.SaveChanges();
        }
 private static ClubLocation CreateClubLocation(ClubLokaal location)
 {
     return new ClubLocation
     {
         Id = location.Id,
         Description = location.Lokaal,
         Address = location.Adres,
         PostalCode = location.Postcode.ToString(),
         City = location.Gemeente,
         Mobile = location.Telefoon
     };
 }
        private ClubEntity CreateClub(string frenoyClubCode)
        {
            Debug.Assert(_isVttl, "or need to write an if");
            var frenoyClub = _frenoy.GetClubs(new GetClubs
            {
                Club = frenoyClubCode,
                Season = _settings.FrenoySeason.ToString()
            });
            Debug.Assert(frenoyClub.ClubEntries.Count() == 1);

            var club = new ClubEntity
            {
                CodeVttl = frenoyClubCode,
                Actief = 1,
                Naam = frenoyClub.ClubEntries.First().LongName,
                Douche = 0
            };
            _db.Clubs.Add(club);
            CommitChanges();

            foreach (var frenoyLokaal in frenoyClub.ClubEntries.First().VenueEntries)
            {
                var lokaal = new ClubLokaal
                {
                    ClubId = club.Id,
                    Telefoon = frenoyLokaal.Phone,
                    Lokaal = frenoyLokaal.Name,
                    Adres = frenoyLokaal.Street,
                    Postcode = int.Parse(frenoyLokaal.Town.Substring(0, frenoyLokaal.Town.IndexOf(" "))),
                    Gemeente = frenoyLokaal.Town.Substring(frenoyLokaal.Town.IndexOf(" ") + 1),
                    Hoofd = 1
                };
                _db.ClubLokalen.Add(lokaal);
            }

            return club;
        }