示例#1
0
        public void Can_Populate_Db()
        {
            var seed = new Core.UnitOfWork.SeedDb();

            seed.BuildFromEmptyDb(true);

            var playerCount = 0;

            using (var db = new TennisAppContext())
            {
                playerCount = db.Players.Count();
            }

            Assert.IsTrue(playerCount > 100);
        }
示例#2
0
        private Club GetOrCreateClub(TennisAppContext db, List <Club> knownClubs, Models.Player tennisNzPlayer)
        {
            //check if club is known
            var club = knownClubs.SingleOrDefault(c => c.Name.Equals(tennisNzPlayer.Club));

            if (club == null)
            {
                club = new Club
                {
                    Id   = Guid.NewGuid(),
                    Name = tennisNzPlayer.Club,
                };
                db.Clubs.Add(club);
                knownClubs.Add(club);
            }

            return(club);
        }
示例#3
0
        public void BuildFromEmptyDb(bool fromCache = false)
        {
            List <Models.Player> tennisNzPlayers = new GradingListPage().GetAllPlayers(fromCache);


            using (var db = new TennisAppContext())
            {
                db.Database.ExecuteSqlCommand("DELETE FROM Players");
                db.Database.ExecuteSqlCommand("DELETE FROM Clubs");

                var knownClubs = db.Clubs.ToList();
                foreach (var tennisNzPlayer in tennisNzPlayers)
                {
                    var club   = GetOrCreateClub(db, knownClubs, tennisNzPlayer);
                    var player = PopulatePlayer(tennisNzPlayer, club);

                    db.Players.Add(player);
                }

                db.SaveChanges();
            }
        }