public override IEnumerable <ScheduleGame> ProcessGame(ScheduleGame game, int currentDay) { if (game.Complete) { var home = (SeasonTeam)Teams.Where(t => t.Id == game.CompetitionHomeTeam.Id).First(); var away = (SeasonTeam)Teams.Where(t => t.Id == game.CompetitionAwayTeam.Id).First(); if (game.HomeScore == game.AwayScore) { home.Stats.Ties++; away.Stats.Ties++; } else if (game.HomeScore > game.AwayScore) { home.Stats.Wins++; away.Stats.Loses++; } else if (game.AwayScore > game.HomeScore) { home.Stats.Loses++; away.Stats.Wins++; } home.Stats.GoalsFor += game.HomeScore; home.Stats.GoalsAgainst += game.AwayScore; away.Stats.GoalsFor += game.AwayScore; away.Stats.GoalsAgainst += game.HomeScore; game.Processed = true; } return(new List <ScheduleGame>()); }
public void CreateScheduleGameREquiredGameNumber() { var game = new ScheduleGame {ScheduleNumber = 10, GameTime = "4:50 PM", GameDate = DateTime.Today}; var result = _service.CreateScheduleGame(game); Assert.IsFalse(result); var error = _modelState["GameNumberNumber"].Errors[0]; Assert.AreEqual("Game Number must be greater than 0.", error.ErrorMessage); }
//does not process game! //this needs to take into account the skill of the competition team, not the skill of the parent team public virtual void PlayGame(ScheduleGame game, Random random) { if (!game.IsComplete()) { var homeCompetitionTeam = Teams.Where(t => t.Name.Equals(game.Home.Name) && t.NickName.Equals(game.Home.NickName)).First(); var awayCompetitionTeam = Teams.Where(t => t.Name.Equals(game.Away.Name) && t.NickName.Equals(game.Away.NickName)).First(); game.Play(random); } }
private void AddRegularSeasonGame(int scheduleNo) { using (var db = new CSBCDbContext()) { var rep = new ScheduleGameRepository(db); var game = new ScheduleGame(); try { game.ScheduleNumber = scheduleNo; game.GameDate = (DateTime)ConcatDateTime(mskDate.Text, txtTime.Text); game.GameTime = txtTime.Text; game.HomeTeamNumber = ScheduleGamesVM.GetScheduleTeamNumberFromTeamNumber(ScheduleNo, Convert.ToInt32(txtHome.Text)); game.VisitingTeamNumber = ScheduleGamesVM.GetScheduleTeamNumberFromTeamNumber(ScheduleNo, Convert.ToInt32(txtVisitor.Text)); game.LocationNumber = Convert.ToInt32(cmbVenues.SelectedItem.Value); if (game.VisitingTeamScore == null) game.VisitingTeamScore = -1; else game.VisitingTeamScore = game.VisitingTeamScore; if (game.HomeTeamScore == null) game.HomeTeamScore = -1; else game.HomeTeamScore = game.HomeTeamScore; game.DivisionId = Int32.Parse(ddlDivisions.SelectedValue); game.SeasonId = Master.SeasonId; //_with1.Descr = txtDescr.Text; var newGame = rep.Insert(game); db.SaveChanges(); //this should be in UOM! GameNo = newGame.GameNumber; } catch (Exception ex) { Session["ErrorMSG"] = "ADDRow::" + ex.Message; } } }
public abstract IEnumerable <ScheduleGame> ProcessGame(ScheduleGame game, int currentDay); //this might add new games that need to be saved
public override IEnumerable <ScheduleGame> ProcessGame(ScheduleGame game, int currentDay) { return(new List <ScheduleGame>()); }