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); } }
public int MostRecentGameNumber() { using (var db = new JUGContext()) { return(db.Games.Max(g => g.GameNo)); } }
//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)); }
public void SetupDataBase(bool deleteAll) { db = new JUGContext(); if (deleteAll) { db.DeleteData(); } }
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); } }
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(); } } }
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)); }
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); } }
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); } }
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); }
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); } }
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); } }
public void Create(TEntity entity, JUGContext db) { db.Add(entity); }
public void SaveChanges(JUGContext db) { db.SaveChanges(); }
public void DeleteAll(JUGContext db) { db.Games.RemoveRange(db.Games); db.Teams.RemoveRange(db.Teams); }
public void Delete(TEntity o, JUGContext db) { db.Set <TEntity>().Remove(o); }
public IList <TEntity> GetAll(JUGContext db) { return(db.Set <TEntity>().ToList()); }
public void Save(TEntity o, JUGContext db) { db.Update(o); }
public TEntity GetById(long Id, JUGContext db) { return(db.Set <TEntity>().Where(t => t.Id == Id).FirstOrDefault()); }
public static void DeleteData(JUGContext db) { db.DeleteData(); }