public JamPass(int jamNumber, long jamTimeMilliseconds, TeamMembersViewModel skaterWhoPassed, Guid jamId, TeamNumberEnum team) { this.PassId = Guid.NewGuid(); this.JamNumber = JamNumber; this.SkaterWhoPassed = skaterWhoPassed; this.JamId = jamId; this.JamTimeMilliseconds = jamTimeMilliseconds; this.Team = team; }
public static string skaterNumber(TeamNumberEnum team, GamePositionEnum position) { try { switch (team) { case TeamNumberEnum.Team1: switch (position) { case GamePositionEnum.J: return GameViewModel.Instance.CurrentJam.JammerT1.SkaterNumber; case GamePositionEnum.P: return GameViewModel.Instance.CurrentJam.PivotT1.SkaterNumber; case GamePositionEnum.B1: return GameViewModel.Instance.CurrentJam.Blocker1T1.SkaterNumber; case GamePositionEnum.B2: return GameViewModel.Instance.CurrentJam.Blocker2T1.SkaterNumber; case GamePositionEnum.B3: return GameViewModel.Instance.CurrentJam.Blocker3T1.SkaterNumber; case GamePositionEnum.B4: return GameViewModel.Instance.CurrentJam.Blocker4T1.SkaterNumber; } break; case TeamNumberEnum.Team2: switch (position) { case GamePositionEnum.J: return GameViewModel.Instance.CurrentJam.JammerT2.SkaterNumber; case GamePositionEnum.P: return GameViewModel.Instance.CurrentJam.PivotT2.SkaterNumber; case GamePositionEnum.B1: return GameViewModel.Instance.CurrentJam.Blocker1T2.SkaterNumber; case GamePositionEnum.B2: return GameViewModel.Instance.CurrentJam.Blocker2T2.SkaterNumber; case GamePositionEnum.B3: return GameViewModel.Instance.CurrentJam.Blocker3T2.SkaterNumber; case GamePositionEnum.B4: return GameViewModel.Instance.CurrentJam.Blocker4T2.SkaterNumber; } break; } } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return "_"; }
public static decimal blockerPointsPerJam(Guid skaterId, TeamNumberEnum team, GamePositionEnum position) { try { decimal jams = jamCount(team, position, skaterId); decimal points = pointsFor(team, position, skaterId); decimal pointsAgainst = pointsConceded(team, position, skaterId); if (jams == 0) return 0; else return ((points - pointsAgainst) / jams); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return 0; }
/// <summary> /// /// </summary> /// <param name="skaterId"></param> /// <param name="team"></param> /// <returns></returns> public static decimal jammerPointsPerJam(Guid skaterId, TeamNumberEnum team) { try { decimal jams = jamCount(team, GamePositionEnum.J, skaterId); decimal points = pointsFor(team, GamePositionEnum.J, skaterId); if (jams > 0) return CalculatePointsPerJam(points, jams); else return 0; } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return -1; }
public static int jamCount(TeamNumberEnum team, GamePositionEnum position, Guid skaterId) { try { if (GameViewModel.Instance.Jams != null) { if (position == GamePositionEnum.J && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.JammerT1 != null && x.JammerT1.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.J && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.JammerT2 != null && x.JammerT2.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.P && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.PivotT1 != null && x.PivotT1.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.P && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.PivotT2 != null && x.PivotT2.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B1 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker1T1 != null && x.Blocker1T1.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B1 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker1T2 != null && x.Blocker1T2.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B2 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker2T1 != null && x.Blocker2T1.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B2 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker2T2 != null && x.Blocker2T2.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B3 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker3T1 != null && x.Blocker3T1.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B3 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker3T2 != null && x.Blocker3T2.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B4 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker4T1 != null && x.Blocker4T1.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B4 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker4T2 != null && x.Blocker4T2.SkaterId == skaterId).Count(); else if (position == GamePositionEnum.B) return jamCount(team, GamePositionEnum.B1, skaterId) + jamCount(team, GamePositionEnum.B2, skaterId) + jamCount(team, GamePositionEnum.B3, skaterId) + jamCount(team, GamePositionEnum.B4, skaterId); else if (position == GamePositionEnum.L) return jamCount(team, GamePositionEnum.B1, skaterId) + jamCount(team, GamePositionEnum.B2, skaterId) + jamCount(team, GamePositionEnum.B3, skaterId) + jamCount(team, GamePositionEnum.B4, skaterId) + jamCount(team, GamePositionEnum.P, skaterId); } } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return 0; }
/// <summary> /// updates the team assists to the DB. /// </summary> /// <param name="team"></param> /// <param name="teamId"></param> /// <param name="game"></param> /// <param name="db"></param> /// <param name="g"></param> public static void updateTeamAssists(TeamNumberEnum team, Guid teamId, GameViewModel game, ManagementContext db, DataModels.Game.Game g) { try { List<AssistViewModel> assitsNew = new List<AssistViewModel>(); if (team == TeamNumberEnum.Team1) assitsNew = game.AssistsForTeam1; else assitsNew = game.AssistsForTeam2; for (int i = 0; i < assitsNew.Count; i++) { insertAssistIntoDb(teamId, game, assitsNew[i], db, g); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: "tried updating team scores"); } }
/// <summary> /// updates the team blocks to the Db. /// </summary> /// <param name="team"></param> /// <param name="teamId"></param> /// <param name="game"></param> /// <param name="db"></param> /// <param name="g"></param> public static void updateTeamBlocks(TeamNumberEnum team, Guid teamId, GameViewModel game, ManagementContext db, DataModels.Game.Game g) { try { List<BlockViewModel> blocksNew = new List<BlockViewModel>(); if (team == TeamNumberEnum.Team1) blocksNew = game.BlocksForTeam1; else blocksNew = game.BlocksForTeam2; for (int i = 0; i < blocksNew.Count; i++) { var blockDb = g.GameMemberBlocks.Where(x => x.GameBlockId == new Guid("c88dd0c2-2e9e-4e0f-b6db-98d39b913291")).FirstOrDefault(); if (blockDb == null) insertBlockIntoDb(teamId, game, blocksNew[i], db, g); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: "tried updating team scores"); } }
/// <summary> /// updates the team penalties to the DB. /// </summary> /// <param name="team"></param> /// <param name="teamId"></param> /// <param name="game"></param> /// <param name="db"></param> /// <param name="g"></param> public static void updateTeamPenalties(TeamNumberEnum team, Guid teamId, GameViewModel game, ManagementContext db, DataModels.Game.Game g) { try { List<PenaltyViewModel> blocksNew = new List<PenaltyViewModel>(); if (team == TeamNumberEnum.Team1 && game.PenaltiesForTeam1 != null) blocksNew = game.PenaltiesForTeam1; else if (team == TeamNumberEnum.Team1 && game.PenaltiesForTeam2 != null) blocksNew = game.PenaltiesForTeam2; for (int i = 0; i < blocksNew.Count; i++) { var blockDb = g.GameMemberPenalties.Where(x => x.GamePenaltyId == blocksNew[i].PenaltyId).FirstOrDefault(); if (blockDb == null) insertPenaltyIntoDb(teamId, game, blocksNew[i], db, g); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: "tried updating team scores"); } }
public static int leadJams(TeamNumberEnum teamOneOrTwo, GamePositionEnum position, Guid skaterId) { try { if (teamOneOrTwo == TeamNumberEnum.Team1 && position == GamePositionEnum.J) return GameViewModel.Instance.Jams.Where(x => x.JammerT1 != null && x.JammerT1.SkaterId == skaterId && x.TeamLeadingJam == Static.Enums.TeamNumberEnum.Team1).Count(); else if (teamOneOrTwo == TeamNumberEnum.Team2 && position == GamePositionEnum.J) return GameViewModel.Instance.Jams.Where(x => x.JammerT2 != null && x.JammerT2.SkaterId == skaterId && x.TeamLeadingJam == Static.Enums.TeamNumberEnum.Team2).Count(); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return 0; }
private static MemberForAnnouncerJson CalculateJammerStats(AnnouncerJson an, TeamNumberEnum team, Guid skaterId) { var jammer = new MemberForAnnouncerJson(); try { jammer.Name = NameFunctions.skaterName(team, GamePositionEnum.J); jammer.Number = NameFunctions.skaterNumber(team, GamePositionEnum.J); jammer.PointsPerJam = JamCalculations.jammerPointsPerJam(skaterId, team).ToString("N2"); jammer.Jams = JamCalculations.jamCount(team, GamePositionEnum.J, skaterId); jammer.Points = JamCalculations.pointsFor(team, GamePositionEnum.J, skaterId); jammer.PointsPerMinute = JamCalculations.jammerPointsPerMinute(skaterId, GamePositionEnum.J, team).ToString("N2"); jammer.LeadJamPc = JamCalculations.leadJams(team, GamePositionEnum.J, skaterId).ToString("N1"); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), additionalInformation: Logger.Instance.getLoggedMessages()); } return jammer; }
private static MemberForAnnouncerJson CalculateBlockerStats(AnnouncerJson an, TeamNumberEnum team, GamePositionEnum position, Guid skaterId) { var blocker = new MemberForAnnouncerJson(); try { blocker.Name = NameFunctions.skaterName(team, position); blocker.Number = NameFunctions.skaterNumber(team, position); blocker.Jams = JamCalculations.jamCount(team, GamePositionEnum.L, skaterId); int pointsFor = JamCalculations.pointsFor(team, GamePositionEnum.L, skaterId); blocker.PointsPerJam = JamCalculations.blockerPointsPerJam(skaterId, team, GamePositionEnum.L).ToString("N2"); blocker.Points = pointsFor; blocker.PointsPerMinute = "0"; blocker.LeadJamPc = "0"; } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), additionalInformation: Logger.Instance.getLoggedMessages()); } return blocker; }
private static LivePlayerStat CalculateLivePlayerStats(TeamMembersViewModel member, TeamNumberEnum team) { var p = new LivePlayerStat(); try { p.rosterName = member.SkaterName; p.rosterNumber = member.SkaterNumber; int jams = JamCalculations.jamCount(team, GamePositionEnum.J, member.SkaterId); if (jams > 0) { p.rosterJammerJams = jams; p.rosterJammerPts = JamCalculations.pointsFor(team, GamePositionEnum.J, member.SkaterId); } int jam = JamCalculations.jamCount(team, GamePositionEnum.L, member.SkaterId); if (jam > 0) { p.rosterBlockerJams = jams; p.rosterBlockerPointsPer = JamCalculations.blockerPointsPerJam(member.SkaterId, team, GamePositionEnum.L).ToString("N1"); } if (jam > 0 || jams > 0) { p.rosterPens = JamCalculations.penaltyCountAnnouncer(team, member.SkaterId); } } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), additionalInformation: Logger.Instance.getLoggedMessages()); } return p; }
/// <summary> /// benches all the skaters in the team. /// </summary> /// <param name="team"></param> public void benchAllSkaters(TeamNumberEnum team) { if (team == TeamNumberEnum.Team1) { for (int i = 0; i < GameViewModel.Instance.Team1.TeamMembers.Count; i++) { benchSkater(GameViewModel.Instance.Team1.TeamMembers[i], TeamNumberEnum.Team1); } } else if (team == TeamNumberEnum.Team2) { for (int i = 0; i < GameViewModel.Instance.Team2.TeamMembers.Count; i++) { benchSkater(GameViewModel.Instance.Team2.TeamMembers[i], TeamNumberEnum.Team2); } } }
public static string penaltyCountAnnouncer(TeamNumberEnum teamOneOrTwo, Guid skater) { try { int pens = 0; if (teamOneOrTwo == TeamNumberEnum.Team1) pens = GameViewModel.Instance.PenaltiesForTeam1.Where(x => x.PenaltyAgainstMember != null && x.PenaltyAgainstMember.SkaterId == skater).Count(); else if (teamOneOrTwo == TeamNumberEnum.Team2) pens = GameViewModel.Instance.PenaltiesForTeam2.Where(x => x.PenaltyAgainstMember != null && x.PenaltyAgainstMember.SkaterId == skater).Count(); return pens.ToString(); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return null; }
public void clearSkaterPositions(TeamMembersViewModel skater, TeamNumberEnum team) { try { //if in the box, it removes the player from the box. GameViewModel.Instance.removeSkaterFromPenaltyBox(skater, team); if (team == TeamNumberEnum.Team1) { if (PivotT1 == skater) PivotT1 = null; if (JammerT1 == skater) JammerT1 = null; if (Blocker1T1 == skater) Blocker1T1 = null; if (Blocker2T1 == skater) Blocker2T1 = null; if (Blocker3T1 == skater) Blocker3T1 = null; if (Blocker4T1 == skater) Blocker4T1 = null; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker4 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } else if (team == TeamNumberEnum.Team2) { if (PivotT2 == skater) PivotT2 = null; if (JammerT2 == skater) JammerT2 = null; if (Blocker1T2 == skater) Blocker1T2 = null; if (Blocker2T2 == skater) Blocker2T2 = null; if (Blocker3T2 == skater) Blocker3T2 = null; if (Blocker4T2 == skater) Blocker4T2 = null; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker4 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } } catch (Exception e) { ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI, additionalInformation: Logger.Instance.getLoggedMessages()); } }
public bool setLostLeadJammerEligibility(TeamMembersViewModel jammerInLead, long gameTimeinMilliseconds, TeamNumberEnum team) { try { if (team == TeamNumberEnum.Team1) { if (JammerT1 != null && jammerInLead.SkaterId == JammerT1.SkaterId) JammerT1.LostLeadJammerEligibility = true; else if (PivotT1 != null && jammerInLead.SkaterId == PivotT1.SkaterId) PivotT1.LostLeadJammerEligibility = true; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == jammerInLead.SkaterId).FirstOrDefault().LostLeadJammerEligibility = true; } else if (team == TeamNumberEnum.Team2) { if (JammerT2 != null && jammerInLead.SkaterId == JammerT2.SkaterId) JammerT2.LostLeadJammerEligibility = true; else if (PivotT2 != null && jammerInLead.SkaterId == PivotT2.SkaterId) PivotT2.LostLeadJammerEligibility = true; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == jammerInLead.SkaterId).FirstOrDefault().LostLeadJammerEligibility = true; } return true; } catch (Exception e) { ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI, additionalInformation: Logger.Instance.getLoggedMessages()); } return false; }
/// <summary> /// sets the pivot for the jam. /// </summary> /// <param name="skater"></param> /// <param name="team"></param> public void setPivot(TeamMembersViewModel skater, TeamNumberEnum team) { try { clearSkaterPositions(skater, team); if (team == TeamNumberEnum.Team1) { for (int i = 0; i < GameViewModel.Instance.Team1.TeamMembers.Count; i++) { if (GameViewModel.Instance.Team1.TeamMembers[i].IsPivot) { GameViewModel.Instance.Team1.TeamMembers[i].IsBenched = true; GameViewModel.Instance.Team1.TeamMembers[i].IsPivot = false; } } PivotT1 = new TeamMembersViewModel() { SkaterName = skater.SkaterName, IsPivot = true, SkaterId = skater.SkaterId, SkaterLinkId = skater.SkaterLinkId, SkaterNumber = skater.SkaterNumber, SkaterPictureLocation = skater.SkaterPictureLocation }; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = true; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = false; } else if (team == TeamNumberEnum.Team2) { for (int i = 0; i < GameViewModel.Instance.Team2.TeamMembers.Count; i++) { if (GameViewModel.Instance.Team2.TeamMembers[i].IsPivot) { GameViewModel.Instance.Team2.TeamMembers[i].IsBenched = true; GameViewModel.Instance.Team2.TeamMembers[i].IsPivot = false; } } PivotT2 = new TeamMembersViewModel() { SkaterName = skater.SkaterName, IsPivot = true, SkaterId = skater.SkaterId, SkaterLinkId = skater.SkaterLinkId, SkaterNumber = skater.SkaterNumber, SkaterPictureLocation = skater.SkaterPictureLocation }; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = true; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = false; } } catch (Exception e) { ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI, additionalInformation: Logger.Instance.getLoggedMessages()); } }
public void clearSkaterPositions(TeamMembersViewModel skater, TeamNumberEnum team) { if (team == TeamNumberEnum.Team1) { if (PivotT1 == skater) PivotT1 = null; if (JammerT1 == skater) JammerT1 = null; if (Blocker1T1 == skater) Blocker1T1= null; if (Blocker2T1 == skater) Blocker2T1= null; if (Blocker3T1== skater) Blocker3T1= null; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } else if (team == TeamNumberEnum.Team2) { if (PivotT1 == skater) PivotT1 = null; if (JammerT1 == skater) JammerT1 = null; if (Blocker1T1 == skater) Blocker1T1 = null; if (Blocker2T1 == skater) Blocker2T1 = null; if (Blocker3T1 == skater) Blocker3T1 = null; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } }
/// <summary> /// handles all logic to bench the skater for the game. /// </summary> /// <param name="skater"></param> /// <param name="teamNumber"></param> public void benchSkater(TeamMembersViewModel skater, TeamNumberEnum teamNumber) { if (teamNumber == TeamNumberEnum.Team1) { if (Blocker1T1 != null && Blocker1T1.SkaterId == skater.SkaterId) Blocker1T1 = null; if (Blocker2T1 != null && Blocker2T1.SkaterId == skater.SkaterId) Blocker2T1 = null; if (Blocker3T1 != null && Blocker3T1.SkaterId == skater.SkaterId) Blocker3T1 = null; if (PivotT1 != null && PivotT1.SkaterId == skater.SkaterId) PivotT1 = null; if (JammerT1 != null && JammerT1.SkaterId == skater.SkaterId) JammerT1 = null; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = true; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } else if (teamNumber == TeamNumberEnum.Team2) { if (Blocker1T2 != null && Blocker1T2.SkaterId == skater.SkaterId) Blocker1T2 = null; if (Blocker2T2 != null && Blocker2T2.SkaterId == skater.SkaterId) Blocker2T2 = null; if (Blocker3T2 != null && Blocker3T2.SkaterId == skater.SkaterId) Blocker3T2 = null; if (PivotT2 != null && PivotT2.SkaterId == skater.SkaterId) PivotT2 = null; if (JammerT2 != null && JammerT2.SkaterId == skater.SkaterId) JammerT2 = null; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = true; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } }
public static decimal jammerPointsPerMinute(Guid skaterId, GamePositionEnum position, TeamNumberEnum team) { try { decimal minutes = trackMinutes(team, position, skaterId); decimal points = pointsFor(team, position, skaterId); if (minutes > 0) return points / minutes; else return 0; } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return -1; }
public static int pointsConceded(TeamNumberEnum team, GamePositionEnum position, Guid skaterId) { try { if (position == GamePositionEnum.J && team == TeamNumberEnum.Team1) { return GameViewModel.Instance.Jams.Where(x => x.JammerT1 != null && x.JammerT1.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT1); } else if (position == GamePositionEnum.J && team == TeamNumberEnum.Team2) { return GameViewModel.Instance.Jams.Where(x => x.JammerT2 != null && x.JammerT2.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT2); } else if (position == GamePositionEnum.P && team == TeamNumberEnum.Team1) { return GameViewModel.Instance.Jams.Where(x => x.PivotT1 != null && x.PivotT1.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT1); } else if (position == GamePositionEnum.P && team == TeamNumberEnum.Team2) { return GameViewModel.Instance.Jams.Where(x => x.PivotT2 != null && x.PivotT2.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT2); } else if (position == GamePositionEnum.B1 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker1T1 != null && x.Blocker1T1.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT1); else if (position == GamePositionEnum.B1 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker1T2 != null && x.Blocker1T2.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT2); else if (position == GamePositionEnum.B2 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker2T1 != null && x.Blocker2T1.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT1); else if (position == GamePositionEnum.B2 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker2T2 != null && x.Blocker2T2.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT2); else if (position == GamePositionEnum.B3 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker3T1 != null && x.Blocker3T1.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT1); else if (position == GamePositionEnum.B3 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker3T2 != null && x.Blocker3T2.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT2); else if (position == GamePositionEnum.B4 && team == TeamNumberEnum.Team1) return GameViewModel.Instance.Jams.Where(x => x.Blocker4T1 != null && x.Blocker4T1.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT1); else if (position == GamePositionEnum.B4 && team == TeamNumberEnum.Team2) return GameViewModel.Instance.Jams.Where(x => x.Blocker4T2 != null && x.Blocker4T2.SkaterId == skaterId).Sum(x => x.TotalPointsForJamT2); else if (position == GamePositionEnum.B) return JamCalculations.pointsConceded(team, GamePositionEnum.B1, skaterId) + JamCalculations.pointsConceded(team, GamePositionEnum.B2, skaterId) + JamCalculations.pointsConceded(team, GamePositionEnum.B3, skaterId) + JamCalculations.pointsConceded(team, GamePositionEnum.B4, skaterId); else if (position == GamePositionEnum.L) return JamCalculations.pointsConceded(team, GamePositionEnum.B1, skaterId) + JamCalculations.pointsConceded(team, GamePositionEnum.B2, skaterId) + JamCalculations.pointsConceded(team, GamePositionEnum.B3, skaterId) + JamCalculations.pointsConceded(team, GamePositionEnum.B4, skaterId) + JamCalculations.pointsConceded(team, GamePositionEnum.P, skaterId); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return 0; }
public static decimal trackMinutes(TeamNumberEnum team, GamePositionEnum position, Guid skaterId) { try { decimal minutes = 0; if (team == TeamNumberEnum.Team1 && position == GamePositionEnum.J) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.JammerT1 != null && x.JammerT1.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team2 && position == GamePositionEnum.J) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.JammerT2 != null && x.JammerT2.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team1 && position == GamePositionEnum.P) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.PivotT1 != null && x.PivotT1.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team2 && position == GamePositionEnum.P) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.PivotT2 != null && x.PivotT2.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team1 && position == GamePositionEnum.B1) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker1T1 != null && x.Blocker1T1.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team2 && position == GamePositionEnum.B1) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker1T2 != null && x.Blocker1T2.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team1 && position == GamePositionEnum.B2) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker2T1 != null && x.Blocker2T1.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team2 && position == GamePositionEnum.B2) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker2T2 != null && x.Blocker2T2.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team1 && position == GamePositionEnum.B1) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker1T1 != null && x.Blocker1T1.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team2 && position == GamePositionEnum.B1) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker1T2 != null && x.Blocker1T2.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team1 && position == GamePositionEnum.B3) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker3T1 != null && x.Blocker3T1.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team2 && position == GamePositionEnum.B3) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker3T2 != null && x.Blocker3T2.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team1 && position == GamePositionEnum.B4) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker4T1 != null && x.Blocker4T1.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (team == TeamNumberEnum.Team2 && position == GamePositionEnum.B4) { Guid[] jams; long[] timeStart; jams = GameViewModel.Instance.Jams.Where(x => x.Blocker4T2 != null && x.Blocker4T2.SkaterId == skaterId).Select(x => x.JamId).ToArray(); foreach (Guid jamID in jams) { timeStart = GameViewModel.Instance.Jams.Where(x => x.JamId == jamID).Select(x => x.JamClock.TimeElapsed).ToArray(); minutes += timeStart[0]; } return (minutes / 60000); } else if (position == GamePositionEnum.B) return trackMinutes(team, GamePositionEnum.B1, skaterId) + trackMinutes(team, GamePositionEnum.B2, skaterId) + trackMinutes(team, GamePositionEnum.B3, skaterId) + trackMinutes(team, GamePositionEnum.B4, skaterId); else if (position == GamePositionEnum.L) return trackMinutes(team, GamePositionEnum.P, skaterId) + trackMinutes(team, GamePositionEnum.B, skaterId); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return 0; }
/// <summary> /// sets the lead jammer for the Jam. /// Also takes care if the Lead Jammer has changed as in MADE rules. /// </summary> /// <param name="jammerInLead"></param> /// <param name="gameTimeinMilliseconds"></param> /// <param name="jamTimeinMilliseconds"></param> public bool setLeadJammer(TeamMembersViewModel jammerInLead, long gameTimeinMilliseconds, TeamNumberEnum team) { try { //can only be lead if they are jammer or pivot if ((jammerInLead.IsPivot || jammerInLead.IsJammer) && !jammerInLead.IsInBox) { if (LeadJammers == null) LeadJammers = new List<LeadJammerViewModel>(); LeadJammerViewModel jamLead = new LeadJammerViewModel(); jamLead.Jammer = jammerInLead; jamLead.JamTimeInMilliseconds = (long)TimeSpan.FromTicks(this.JamClock.TimeElapsed).TotalMilliseconds; jamLead.GameTimeInMilliseconds = gameTimeinMilliseconds; jamLead.Team = team; jamLead.GameLeadJamId = LeadJammers.Count; LeadJammers.Add(jamLead); if (team == TeamNumberEnum.Team1) { //removes lead from this team //Object reference not set to an instance of an object. at 185 removeLeadJammer(team); var skater = GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == jammerInLead.SkaterId).FirstOrDefault(); if (skater != null) skater.IsLeadJammer = true; removeLeadJammer(TeamNumberEnum.Team2); TeamLeadingJam = TeamNumberEnum.Team1; if (JammerT1 != null && jammerInLead.SkaterId == JammerT1.SkaterId) JammerT1.IsLeadJammer = true; else if (PivotT1 != null && jammerInLead.SkaterId == PivotT1.SkaterId) PivotT1.IsLeadJammer = true; } else if (team == TeamNumberEnum.Team2) { removeLeadJammer(team); GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == jammerInLead.SkaterId).FirstOrDefault().IsLeadJammer = true; removeLeadJammer(TeamNumberEnum.Team1); TeamLeadingJam = TeamNumberEnum.Team2; if (JammerT2 != null && jammerInLead.SkaterId == JammerT2.SkaterId) JammerT2.IsLeadJammer = true; else if (PivotT2 != null && jammerInLead.SkaterId == PivotT2.SkaterId) PivotT2.IsLeadJammer = true; } return true; } } catch (Exception e) { ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI, additionalInformation: Logger.Instance.getLoggedMessages()); } return false; }
public static decimal leadJamPc(TeamNumberEnum teamOneOrTwo, GamePositionEnum position, Guid skaterId) { try { decimal LJpc; int jams = jamCount(teamOneOrTwo, position, skaterId); int leads = leadJams(teamOneOrTwo, position, skaterId); LJpc = leads * 100 / jams; return LJpc; } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return 0; }
/// <summary> /// removes the lead jammer. /// </summary> /// <param name="team"></param> public void removeLeadJammer(TeamNumberEnum team) { try { if (team == TeamNumberEnum.Team1) { for (int i = 0; i < GameViewModel.Instance.Team1.TeamMembers.Where(x => x.IsLeadJammer).Count(); i++) { GameViewModel.Instance.Team1.TeamMembers.Where(x => x.IsLeadJammer).FirstOrDefault().IsLeadJammer = false; } if (JammerT1 != null) JammerT1.IsLeadJammer = false; if (PivotT1 != null) PivotT1.IsLeadJammer = false; } if (team == TeamNumberEnum.Team2) { for (int i = 0; i < GameViewModel.Instance.Team2.TeamMembers.Where(x => x.IsLeadJammer).Count(); i++) { GameViewModel.Instance.Team2.TeamMembers.Where(x => x.IsLeadJammer).FirstOrDefault().IsLeadJammer = false; } if (JammerT2 != null) JammerT2.IsLeadJammer = false; if (PivotT2 != null) PivotT2.IsLeadJammer = false; } } catch (Exception e) { ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI, additionalInformation: Logger.Instance.getLoggedMessages()); } }
public static int rosterJamCount(TeamNumberEnum teamOneOrTwo, GamePositionEnum position, int rosterNum) { try { Guid[] rostah = { }; if (teamOneOrTwo == TeamNumberEnum.Team1) { rostah = GameViewModel.Instance.Team1.TeamMembers.OrderBy(x => x.SkaterName).Select(x => x.SkaterId).ToArray(); return jamCount(teamOneOrTwo, position, rostah[rosterNum - 1]); } else if (teamOneOrTwo == TeamNumberEnum.Team2) { rostah = GameViewModel.Instance.Team2.TeamMembers.OrderBy(x => x.SkaterName).Select(x => x.SkaterId).ToArray(); return jamCount(teamOneOrTwo, position, rostah[rosterNum - 1]); } } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return 0; }
/// <summary> /// benches all the skaters in the team. /// </summary> /// <param name="team"></param> public void benchAllSkaters(TeamNumberEnum team) { try { if (team == TeamNumberEnum.Team1) { for (int i = 0; i < GameViewModel.Instance.Team1.TeamMembers.Count; i++) { benchSkater(GameViewModel.Instance.Team1.TeamMembers[i], TeamNumberEnum.Team1); } } else if (team == TeamNumberEnum.Team2) { for (int i = 0; i < GameViewModel.Instance.Team2.TeamMembers.Count; i++) { benchSkater(GameViewModel.Instance.Team2.TeamMembers[i], TeamNumberEnum.Team2); } } } catch (Exception e) { ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI, additionalInformation: Logger.Instance.getLoggedMessages()); } }
public static string rosterPoints(TeamNumberEnum teamOneOrTwo, GamePositionEnum position, int rosterNum) { try { Guid[] rostah = { }; int scoah = 0; if (teamOneOrTwo == TeamNumberEnum.Team1) { rostah = GameViewModel.Instance.Team1.TeamMembers.OrderBy(x => x.SkaterName).Select(x => x.SkaterId).ToArray(); scoah = pointsFor(teamOneOrTwo, position, rostah[rosterNum - 1]); } else if (teamOneOrTwo == TeamNumberEnum.Team2) { rostah = GameViewModel.Instance.Team2.TeamMembers.OrderBy(x => x.SkaterName).Select(x => x.SkaterId).ToArray(); scoah = pointsFor(teamOneOrTwo, position, rostah[rosterNum - 1]); } if (scoah == 0) return null; else return scoah.ToString(); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return null; }
/// <summary> /// handles all logic to bench the skater for the game. /// </summary> /// <param name="skater"></param> /// <param name="teamNumber"></param> public void benchSkater(TeamMembersViewModel skater, TeamNumberEnum teamNumber) { try { if (teamNumber == TeamNumberEnum.Team1) { if (Blocker1T1 != null && Blocker1T1.SkaterId == skater.SkaterId) Blocker1T1 = null; if (Blocker2T1 != null && Blocker2T1.SkaterId == skater.SkaterId) Blocker2T1 = null; if (Blocker3T1 != null && Blocker3T1.SkaterId == skater.SkaterId) Blocker3T1 = null; if (Blocker4T1 != null && Blocker4T1.SkaterId == skater.SkaterId) Blocker4T1 = null; if (PivotT1 != null && PivotT1.SkaterId == skater.SkaterId) PivotT1 = null; if (JammerT1 != null && JammerT1.SkaterId == skater.SkaterId) JammerT1 = null; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = true; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker4 = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } else if (teamNumber == TeamNumberEnum.Team2) { if (Blocker1T2 != null && Blocker1T2.SkaterId == skater.SkaterId) Blocker1T2 = null; if (Blocker2T2 != null && Blocker2T2.SkaterId == skater.SkaterId) Blocker2T2 = null; if (Blocker3T2 != null && Blocker3T2.SkaterId == skater.SkaterId) Blocker3T2 = null; if (Blocker4T2 != null && Blocker4T2.SkaterId == skater.SkaterId) Blocker4T2 = null; if (PivotT2 != null && PivotT2.SkaterId == skater.SkaterId) PivotT2 = null; if (JammerT2 != null && JammerT2.SkaterId == skater.SkaterId) JammerT2 = null; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBenched = true; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker1 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker2 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker3 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsBlocker4 = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsInBox = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsLeadJammer = false; GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault().IsPivot = false; } } catch (Exception e) { ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI, additionalInformation: Logger.Instance.getLoggedMessages()); } }
public static string rosterPlusMinusPerJam(TeamNumberEnum teamOneOrTwo, GamePositionEnum position, int rosterNum) { try { Guid[] rostah = { }; decimal scoah = 0; if (teamOneOrTwo == TeamNumberEnum.Team1) { rostah = GameViewModel.Instance.Team1.TeamMembers.OrderBy(x => x.SkaterName).Select(x => x.SkaterId).ToArray(); scoah = blockerPointsPerJam(rostah[rosterNum - 1], teamOneOrTwo, position); } else if (teamOneOrTwo == TeamNumberEnum.Team2) { rostah = GameViewModel.Instance.Team2.TeamMembers.OrderBy(x => x.SkaterName).Select(x => x.SkaterId).ToArray(); scoah = blockerPointsPerJam(rostah[rosterNum - 1], teamOneOrTwo, position); } return scoah.ToString("N2"); } catch (Exception exception) { ErrorViewModel.Save(exception, exception.GetType(), ErrorGroupEnum.UI); } return null; }