Exemplo n.º 1
0
        public void ShouldAddGames()
        {
            using (var db = new JUGContext())
            {
                var teamDataService = new BaseDataService <TeamDAO>();
                var gameDataService = new GameDataService();

                Assert.Empty(teamDataService.GetAll(db));
                Assert.Empty(gameDataService.GetAll(db));

                DbHelper.AddSomeTeams(10, db);

                var game = new GameDAO();
                game.Home       = teamDataService.GetAll(db).Where(t => t.Name == "Team 1").FirstOrDefault();
                game.Away       = teamDataService.GetAll(db).Where(t => t.Name == "Team 6").FirstOrDefault();
                game.AwayScore  = 5;
                game.HomeScore  = 6;
                game.IsComplete = true;
                game.IsStarted  = true;
                game.CanTie     = true;

                gameDataService.Create(game, db);


                Assert.Single(db.Games.Local);
            }
        }
Exemplo n.º 2
0
 public int MostRecentGameNumber()
 {
     using (var db = new JUGContext())
     {
         return(db.Games.Max(g => g.GameNo));
     }
 }
Exemplo n.º 3
0
        //should over write the basic create method
        public IGameViewModel Create(long homeId, long awayId)
        {
            var homeTeam = TeamService.GetDomainObjectById(homeId);
            var awayTeam = TeamService.GetDomainObjectById(awayId);

            var mostRecentGameNumber = GameDataService.MostRecentGameNumber();

            var gameNo             = mostRecentGameNumber + 1; //need a way to get this
            var day                = 1;                        //need a way to get this
            var year               = 1;                        //need a way to get this
            var canTie             = true;                     //need a way to get this
            var maxOverTimePeriods = 1;                        //need a way to get this
            var minPeriods         = 3;                        //need a way to get this

            var game = new Game(null, gameNo, day, year, 1, homeTeam, new GameTeamStats(0, 0), awayTeam, new GameTeamStats(0, 0), false, false, canTie, minPeriods, maxOverTimePeriods);

            //map the model
            var gameDAO = Mapper.DomainToDAO(game);

            using (var db = new JUGContext())
            {
                //when creating we need to make sure we populate the child objects with registered data objects
                gameDAO.Home = TeamDataService.GetById(homeId, db);
                gameDAO.Away = TeamDataService.GetById(awayId, db);

                GameDataService.Create(gameDAO, db);
                GameDataService.SaveChanges(db);
            }
            game.Id = gameDAO.Id;

            return(Mapper.DomainToViewModel(game));
        }
Exemplo n.º 4
0
 public void SetupDataBase(bool deleteAll)
 {
     db = new JUGContext();
     if (deleteAll)
     {
         db.DeleteData();
     }
 }
Exemplo n.º 5
0
        public void Update(TViewModel model)
        {
            var domain = Mapper.ViewModelToDomain(model);

            var dao = Mapper.DomainToDAO(domain);

            using (var db = new JUGContext())
            {
                DataService.Save(dao, db);
                DataService.SaveChanges(db);
            }
        }
Exemplo n.º 6
0
 public void Delete(long?id)
 {
     if (id != null)
     {
         var actualId = (long)id;
         using (var db = new JUGContext())
         {
             var daoObject = DataService.GetById(actualId, db);
             DataService.Delete(daoObject, db);
             db.SaveChanges();
         }
     }
 }
Exemplo n.º 7
0
        public TViewModel Create(TViewModel newModel)
        {
            var dao = Mapper.DomainToDAO(Mapper.ViewModelToDomain(newModel));

            using (var db = new JUGContext())
            {
                DataService.Create(dao, db);
                db.SaveChanges();
            }

            var domain = Mapper.DAOToDomain(dao);

            return(Mapper.DomainToViewModel(domain));
        }
Exemplo n.º 8
0
        public void ShouldUpdateTeam()
        {
            using (var db = new JUGContext())
            {
                var teamDataService = new BaseDataService <TeamDAO>();

                var name  = "Team 1";
                var skill = 5;
                var type  = TeamType.BaseTeam;

                var teamDAO = new TeamDAO()
                {
                    Name = name, Skill = skill, TeamType = type
                };

                teamDataService.Create(teamDAO, db);
                teamDataService.SaveChanges(db);

                Assert.Single(db.Teams);

                var currenTeam = teamDataService.GetById(teamDAO.Id, db);

                Assert.Equal(name, currenTeam.Name);
                Assert.Equal(skill, currenTeam.Skill);
                Assert.Equal(type, currenTeam.TeamType);

                currenTeam.Name     = "Team 2";
                currenTeam.Skill    = 12;
                currenTeam.TeamType = TeamType.SeasonTeam;

                teamDataService.Save(currenTeam, db);

                Assert.Single(db.Teams.Local);

                var updatedTeam = teamDataService.GetById(teamDAO.Id, db);

                Assert.Equal("Team 2", updatedTeam.Name);
                Assert.Equal(12, updatedTeam.Skill);
                Assert.Equal(TeamType.SeasonTeam, updatedTeam.TeamType);
                Assert.Equal(currenTeam.Id, updatedTeam.Id);

                teamDataService.SaveChanges(db);
                teamDataService.Delete(updatedTeam, db);
                teamDataService.SaveChanges(db);
            }
        }
Exemplo n.º 9
0
        public IGameViewModel Play(IGameViewModel gameModel, Random random)
        {
            using (var db = new JUGContext())
            {
                var gameDAO = GameDataService.GetById(gameModel.Id, db);

                var game = Mapper.DAOToDomain(gameDAO);

                game.Play(new Random());

                MapGameResults(gameDAO, game);

                GameDataService.Save(gameDAO, db);
                GameDataService.SaveChanges(db);

                var resultModel = Mapper.DomainToViewModel(game);

                return(resultModel);
            }
        }
Exemplo n.º 10
0
        public IGameViewModel Update(IGameViewModel gameModel)
        {
            using (var db = new JUGContext())
            {
                var gameDAO = GameDataService.GetById(gameModel.Id, db);

                if (gameDAO.Home.Id != gameModel.HomeId)
                {
                    var newHomeTeam = TeamDataService.GetById(gameModel.HomeId, db);
                    //check if null
                    gameDAO.Home = newHomeTeam;
                }

                if (gameDAO.Away.Id != gameModel.AwayId)
                {
                    var newAwayTeam = TeamDataService.GetById(gameModel.AwayId, db);
                    //check if null
                    gameDAO.Away = newAwayTeam;
                }
            }

            return(null);
        }
Exemplo n.º 11
0
        public static void AddSomeTeams(int numberToAdd, JUGContext db)
        {
            var teamDataService = new BaseDataService <TeamDAO>();

            for (int i = 0; i < numberToAdd; i++)
            {
                long id = 1;
                if (teamDataService.GetAll(db).Count > 0)
                {
                    id = teamDataService.GetAll(db).Max(t => t.Id) + 1;
                }

                var name  = "Team " + id;
                var skill = 5;
                var type  = TeamType.BaseTeam;

                var teamDAO = new TeamDAO()
                {
                    Name = name, Skill = skill, TeamType = type
                };
                teamDataService.Save(teamDAO, db);
            }
        }
Exemplo n.º 12
0
        public void ShouldAddTeam()
        {
            using (var db = new JUGContext())
            {
                var teamDataService = new BaseDataService <TeamDAO>();

                Assert.Empty(teamDataService.GetAll(db));

                var name  = "Team 1";
                var skill = 5;
                var type  = TeamType.BaseTeam;

                var teamDAO = new TeamDAO()
                {
                    Name = name, Skill = skill, TeamType = type
                };


                teamDataService.Create(teamDAO, db);

                Assert.Single(db.Teams.Local);
            }
        }
Exemplo n.º 13
0
 public void Create(TEntity entity, JUGContext db)
 {
     db.Add(entity);
 }
Exemplo n.º 14
0
 public void SaveChanges(JUGContext db)
 {
     db.SaveChanges();
 }
Exemplo n.º 15
0
 public void DeleteAll(JUGContext db)
 {
     db.Games.RemoveRange(db.Games);
     db.Teams.RemoveRange(db.Teams);
 }
Exemplo n.º 16
0
 public void Delete(TEntity o, JUGContext db)
 {
     db.Set <TEntity>().Remove(o);
 }
Exemplo n.º 17
0
 public IList <TEntity> GetAll(JUGContext db)
 {
     return(db.Set <TEntity>().ToList());
 }
Exemplo n.º 18
0
 public void Save(TEntity o, JUGContext db)
 {
     db.Update(o);
 }
Exemplo n.º 19
0
 public TEntity GetById(long Id, JUGContext db)
 {
     return(db.Set <TEntity>().Where(t => t.Id == Id).FirstOrDefault());
 }
Exemplo n.º 20
0
 public static void DeleteData(JUGContext db)
 {
     db.DeleteData();
 }