Exemplo n.º 1
0
 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 SkaterInPenaltyBoxViewModel(TeamMembersViewModel skaterSent, long gameTimeInMillisecondsSent, long jamTimeInMillisecondsSent, Guid jamIdSent, int jamNumberSent)
 {
     PlayerSentToBox = skaterSent;
     GameTimeInMillisecondsSent = gameTimeInMillisecondsSent;
     JamTimeInMillisecondsSent = jamTimeInMillisecondsSent;
     JamIdSent = jamIdSent;
     JamNumberSent = jamNumberSent;
     PenaltyId = Guid.NewGuid();
 }
 /// <summary>
 /// used to populate from the actual scoreboard
 /// </summary>
 /// <param name="playerAssisted"></param>
 /// <param name="periodTimeRemaining"></param>
 /// <param name="jamTimeInMilliseconds"></param>
 /// <param name="currentJam"></param>
 /// <param name="period"></param>
 public AssistViewModel(TeamMembersViewModel playerAssisted, long periodTimeRemaining, long jamTimeInMilliseconds, int currentJam, int period)
 {
     PlayerWhoAssisted = playerAssisted;
     CurrentDateTimeAssisted = DateTime.UtcNow;
     PeriodTimeRemaining = periodTimeRemaining;
     JamTimeRemaining = jamTimeInMilliseconds;
     Period = period;
     JamNumber = currentJam;
     AssistId = Guid.NewGuid();
 }
 /// <summary>
 /// adding a penalty from the scoreboard.
 /// </summary>
 /// <param name="penaltyType"></param>
 /// <param name="penaltyAgainst"></param>
 /// <param name="periodTimeRemaining"></param>
 /// <param name="jamTimeInMilliseconds"></param>
 /// <param name="currentJam"></param>
 /// <param name="period"></param>
 public PenaltyViewModel(PenaltiesEnum penaltyType, TeamMembersViewModel penaltyAgainst, long periodTimeRemaining, long jamTimeInMilliseconds, int currentJam, int period)
 {
     PenaltyAgainstMember = penaltyAgainst;
     PenaltyType = penaltyType;
     CurrentDateTimePenalty = DateTime.UtcNow;
     GameTimeInMilliseconds = periodTimeRemaining;
     JamTimeInMilliseconds = jamTimeInMilliseconds;
     Period = period;
     JamNumber = currentJam;
     PenaltyId = Guid.NewGuid();
 }
 /// <summary>
 /// used to populate from the actual scoreboard
 /// </summary>
 /// <param name="playerAssisted"></param>
 /// <param name="periodTimeRemaining"></param>
 /// <param name="jamTimeInMilliseconds"></param>
 /// <param name="currentJam"></param>
 /// <param name="period"></param>
 public BlockViewModel(TeamMembersViewModel playerWhoBlocked, int currentJam, Guid currentJamId)
 {
     PlayerWhoBlocked = playerWhoBlocked;
     CurrentDateTimeBlock = DateTime.UtcNow;
     PeriodTimeRemaining = GameViewModel.Instance.PeriodClock.TimeRemaining;
     JamTimeRemaining = GameViewModel.Instance.CurrentJam.JamClock.TimeRemaining;
     Period = GameViewModel.Instance.CurrentPeriod;
     JamNumber = currentJam;
     JamId = currentJamId;
     BlockId = Guid.NewGuid();
 }
 /// <summary>
 /// used to poulate the scoreboard.  This one is used by the API via web appliction to populate the player
 /// who scored the points.
 /// </summary>
 /// <param name="point"></param>
 /// <param name="periodTimeRemaining"></param>
 /// <param name="currentJam"></param>
 /// <param name="period"></param>
 /// <param name="jammer"></param>
 public ScoreViewModel(TeamMembersViewModel playerScored, int point, Guid currentJamId, int currentJamNumber)
 {
     PlayerWhoScored = playerScored;
     Points = point;
     CurrentDateTimeScored = DateTime.UtcNow;
     PeriodTimeRemaining = GameViewModel.Instance.PeriodClock.TimeRemaining;
     JamTimeRemaining = GameViewModel.Instance.CurrentJam.JamClock.TimeRemaining;
     Period = GameViewModel.Instance.CurrentPeriod;
     JamNumber = currentJamNumber;
     JamId = currentJamId;
     PointId = Guid.NewGuid();
 }
 public PenaltyViewModel(PenaltiesEnum penaltyType, TeamMembersViewModel penaltyAgainst, int currentJam, Guid jamId, PenaltyScaleEnum scale)
 {
     PenaltyAgainstMember = penaltyAgainst;
     PenaltyType = penaltyType;
     CurrentDateTimePenalty = DateTime.UtcNow;
     GameTimeInMilliseconds = GameViewModel.Instance.PeriodClock.TimeRemaining;
     JamTimeInMilliseconds = GameViewModel.Instance.CurrentJam.JamClock.TimeRemaining;
     Period = GameViewModel.Instance.CurrentPeriod;
     JamNumber = currentJam;
     JamId = jamId;
     PenaltyScale = scale;
     PenaltyId = Guid.NewGuid();
 }
        public static int insertNewSkater(Guid gameId, ManagementContext db, Guid teamId, TeamMembersViewModel member, GameTeam team)
        {
            int c = 0;
            try
            {
                GameMember mem = new GameMember();
                mem.Created = DateTime.UtcNow;
                mem.Team = team;
                //mem.MemberLinkId = member.SkaterLinkId;
                if (!String.IsNullOrEmpty(member.SkaterName))
                    mem.MemberName = member.SkaterName;
                else
                    mem.MemberName = "NA";
                mem.MemberNumber = member.SkaterNumber;
                mem.GameMemberId = member.SkaterId;
                mem.LastModified = DateTime.UtcNow;
                db.GameMembers.Add(mem);
               c=  db.SaveChanges();

                if (member.SkaterPictureCompressed != null && !String.IsNullOrEmpty(member.SkaterPictureLocation))
                {
                    try
                    {
                        Stream stream = new MemoryStream(member.SkaterPictureCompressed);
                        FileInfo file = new FileInfo(member.SkaterPictureLocation);
                        RDN.Library.Classes.Account.User.AddMemberPhotoForGame(gameId, stream, file.FullName, member.SkaterId, MemberTypeEnum.Skater);
                    }
                    catch (Exception exception)
                    {
                        ErrorDatabaseManager.AddException(exception, exception.GetType());
                    }
                }
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return c;
        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
 /// <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 static GameViewModel getGameFromDb(Guid id)
        {
            try
            {
                ManagementContext db = new ManagementContext();
                var getGame = (from xx in db.Games.Include("GameLinks").Include("GameMemberPenalties").Include("GameMemberAssists").Include("GameMemberBlocks").Include("GameTeams").Include("GameJams").Include("GamePolicy").Include("GameScores").Include("GameTimeouts").Include("GameTeams.Logo")
                               where xx.GameId == id
                               //game must be published to be used.

                               //where xx.IsGamePublishedOnline == true
                               select xx).FirstOrDefault();

                if (getGame == null)
                    return null;
                GameViewModel game = new GameViewModel();

                if (getGame.GameTournament != null)
                {
                    game.TournamentId = getGame.GameTournament.TournamentId;
                    game.TournamentName = getGame.GameTournament.TournamentName;
                }
                if (getGame.FederationOwners.Count > 0)
                {
                    game.FederationId = getGame.FederationOwners.FirstOrDefault().Federation.FederationId;
                    game.FederationName = getGame.FederationOwners.FirstOrDefault().Federation.Name;
                }
                if (getGame.SelectedShop != null)
                    game.SelectedShop = getGame.SelectedShop.MerchantId.ToString();
                game.IsThereVideoOfGame = (GameVideoTypeEnum)Enum.Parse(typeof(GameVideoTypeEnum), getGame.IsThereVideoOfGame.ToString());
                game.StreamingUrlOfVideo = getGame.StreamingUrlOfVideo;
                game.StreamingUrlOfVideoMobile = getGame.StreamingUrlOfVideoMobile;
                game.EmbededVideoHtml = getGame.EmbededVideoHtml;
                game.LastModified = DateTime.UtcNow;
                game.IdForOnlineManagementUse = getGame.IdForOnlineManagementUse;
                game.ElapsedTimeGameClockMilliSeconds = (long)getGame.ElapsedGameTimeInMilliseconds;
                game.GameDate = getGame.GameDate;
                game.GameEndDate = getGame.GameEndDate;
                game.GameId = id;
                game.GameName = getGame.GameName;
                game.HasGameEnded = getGame.IsGameOver;
                game.HasGameStarted = getGame.HasGameStarted;
                game.GameLocation = getGame.GameLocation;
                game.PublishGameOnline = getGame.IsGameLive;
                game.SaveGameOnline = getGame.IsGameScrimmage;
                GameClock.getPeriodClock(id, game);
                GameClock.getIntermissionClock(id, game);
                GameClock.getLineUpClock(id, game);
                GameClock.getTimeOutClock(id, game);
                if (getGame.Paywall != null)
                    game.PaywallId = getGame.Paywall.PaywallId;


                if (getGame.ScoreboardType == 0)
                    game.ScoreboardMode = ScoreboardModeEnum.Debug;
                else if (getGame.ScoreboardType == 1)
                    game.ScoreboardMode = ScoreboardModeEnum.Live;

                //we order the teams so the first one in, is also the first one out.
                var getTeams = getGame.GameTeams.OrderByDescending(x => x.Created).ToList();
                if (game.ScoresTeam1 == null)
                    game.ScoresTeam1 = new List<ScoreViewModel>();
                if (game.ScoresTeam2 == null)
                    game.ScoresTeam2 = new List<ScoreViewModel>();

                game.GameLinks = new List<GameLinkViewModel>();
                var gameLinkss = getGame.GameLinks.ToList();
                for (int i = 0; i < getGame.GameLinks.Count; i++)
                {
                    GameLinkViewModel gameLink = new GameLinkViewModel();
                    gameLink.GameLink = gameLinkss[i].Link;
                    gameLink.LinkId = gameLinkss[i].GameLinkId;
                    gameLink.LinkType = (GameLinkTypeEnum)Enum.ToObject(typeof(GameLinkTypeEnum), gameLinkss[i].LinkType);
                    game.GameLinks.Add(gameLink);
                }


                for (int i = 0; i < getTeams.Count; i++)
                {
                    TeamViewModel tvm = new TeamViewModel();
                    tvm.TeamId = getTeams[i].TeamId;
                    tvm.Logo = new Portable.Classes.Team.TeamLogo();

                    tvm.TeamLinkId = getTeams[i].TeamIdLink;
                    var dc = new ManagementContext();
                    if (getTeams[i].Logo != null)
                    {
                        tvm.Logo.ImageUrl = getTeams[i].Logo.ImageUrl;
                        tvm.Logo.TeamLogoId = getTeams[i].Logo.TeamLogoId;
                    }

                    tvm.TeamName = getTeams[i].TeamName;
                    tvm.TimeOutsLeft = getTeams[i].CurrentTimeouts;
                    tvm.TeamMembers = new System.Collections.ObjectModel.ObservableCollection<TeamMembersViewModel>();
                    if (i == 0)
                    {
                        game.CurrentTeam1Score = getTeams[i].CurrentScore;
                        game.Team1 = tvm;
                    }
                    else if (i == 1)
                    {
                        game.CurrentTeam2Score = getTeams[i].CurrentScore;
                        game.Team2 = tvm;
                    }


                    foreach (var mem in getTeams[i].GameMembers)
                    {
                        TeamMembersViewModel mvm = new TeamMembersViewModel();
                        mvm.SkaterId = mem.GameMemberId;
                        mvm.SkaterName = mem.MemberName;
                        mvm.SkaterNumber = mem.MemberNumber;
                        mvm.SkaterLinkId = mem.MemberLinkId;

                        if (getTeams[i].TeamId == game.Team1.TeamId)
                            game.Team1.TeamMembers.Add(mvm);
                        else if (getTeams[i].TeamId == game.Team2.TeamId)
                            game.Team2.TeamMembers.Add(mvm);
                    }
                    //scores must come after teams  members get added.
                    var scores = getTeams[i].GameScores.OrderBy(x => x.JamNumber);
                    foreach (var score in scores)
                    {
                        try
                        {
                            ScoreViewModel svm = new ScoreViewModel(score.Point, score.PeriodTimeRemainingMilliseconds, score.JamId, score.JamNumber, score.PeriodNumber, score.DateTimeScored, score.GameScoreId);

                            if (getTeams[i].TeamId == game.Team1.TeamId)
                            {
                                if (score.MemberWhoScored != null)
                                    svm.PlayerWhoScored = game.Team1.TeamMembers.Where(x => x.SkaterId == score.MemberWhoScored.GameMemberId).FirstOrDefault();
                                game.ScoresTeam1.Add(svm);
                            }
                            else if (getTeams[i].TeamId == game.Team2.TeamId)
                            {
                                if (score.MemberWhoScored != null)
                                    svm.PlayerWhoScored = game.Team2.TeamMembers.Where(x => x.SkaterId == score.MemberWhoScored.GameMemberId).FirstOrDefault();
                                game.ScoresTeam2.Add(svm);
                            }
                        }
                        catch (Exception exception)
                        {
                            ErrorDatabaseManager.AddException(exception, exception.GetType());
                        }
                    }


                }
                game.BlocksForTeam1 = new List<BlockViewModel>();
                game.BlocksForTeam2 = new List<BlockViewModel>();
                game.AssistsForTeam1 = new List<AssistViewModel>();
                game.AssistsForTeam2 = new List<AssistViewModel>();
                game.PenaltiesForTeam1 = new List<PenaltyViewModel>();
                game.PenaltiesForTeam2 = new List<PenaltyViewModel>();
                //blocks must come after teams  members get added.
                var blocks = getGame.GameMemberBlocks.OrderBy(x => x.JamNumber);
                foreach (var block in blocks)
                {
                    try
                    {
                        BlockViewModel svm = new BlockViewModel(block.PeriodTimeRemainingMilliseconds, block.JamNumber, block.PeriodNumber, block.DateTimeBlocked, block.GameBlockId);

                        var member = game.Team1.TeamMembers.Where(x => x.SkaterId == block.MemberWhoBlocked.GameMemberId).FirstOrDefault();
                        if (member == null)
                        {
                            member = game.Team2.TeamMembers.Where(x => x.SkaterId == block.MemberWhoBlocked.GameMemberId).FirstOrDefault();
                            svm.PlayerWhoBlocked = member;
                            game.BlocksForTeam2.Add(svm);
                        }
                        else
                        {
                            svm.PlayerWhoBlocked = member;
                            game.BlocksForTeam1.Add(svm);
                        }
                    }
                    catch (Exception exception)
                    {
                        ErrorDatabaseManager.AddException(exception, exception.GetType());
                    }
                }

                //blocks must come after teams  members get added.
                var assists = getGame.GameMemberAssists.OrderBy(x => x.JamNumber);
                foreach (var assist in assists)
                {
                    try
                    {
                        AssistViewModel svm = new AssistViewModel(assist.PeriodTimeRemainingMilliseconds, assist.JamNumber, assist.PeriodNumber, assist.DateTimeAssisted, assist.GameAssistId);

                        var member = game.Team1.TeamMembers.Where(x => x.SkaterId == assist.MemberWhoAssisted.GameMemberId).FirstOrDefault();
                        if (member == null)
                        {
                            member = game.Team2.TeamMembers.Where(x => x.SkaterId == assist.MemberWhoAssisted.GameMemberId).FirstOrDefault();
                            svm.PlayerWhoAssisted = member;
                            game.AssistsForTeam2.Add(svm);
                        }
                        else
                        {
                            svm.PlayerWhoAssisted = member;
                            game.AssistsForTeam1.Add(svm);
                        }
                    }
                    catch (Exception exception)
                    {
                        ErrorDatabaseManager.AddException(exception, exception.GetType());
                    }
                }

                var penal = getGame.GameMemberPenalties.OrderBy(x => x.JamNumber);
                foreach (var pen in penal)
                {
                    try
                    {
                        PenaltyViewModel svm = new PenaltyViewModel((PenaltiesEnum)Enum.Parse(typeof(PenaltiesEnum), pen.PenaltyType.ToString()), pen.PeriodTimeRemainingMilliseconds, pen.JamNumber, pen.PeriodNumber, pen.DateTimePenaltied, pen.GamePenaltyId);

                        var member = game.Team1.TeamMembers.Where(x => x.SkaterId == pen.MemberWhoPenaltied.GameMemberId).FirstOrDefault();
                        if (member == null)
                        {
                            member = game.Team2.TeamMembers.Where(x => x.SkaterId == pen.MemberWhoPenaltied.GameMemberId).FirstOrDefault();
                            svm.PenaltyAgainstMember = member;
                            game.PenaltiesForTeam2.Add(svm);
                        }
                        else
                        {
                            svm.PenaltyAgainstMember = member;
                            game.PenaltiesForTeam1.Add(svm);
                        }
                    }
                    catch (Exception exception)
                    {
                        ErrorDatabaseManager.AddException(exception, exception.GetType());
                    }
                }

                var getJams = getGame.GameJams.OrderBy(x => x.JamNumber).ToList();
                var getJamClocks = (from xx in db.GameStopWatch
                                    where xx.StopwatchForId == id
                                    where xx.Type == (int)StopWatchTypeEnum.JamClock
                                    select xx).ToList();

                foreach (var jam in getJams)
                {
                    try
                    {
                        JamViewModel jvm = new JamViewModel(jam.JamNumber, jam.GameTimeElapsedMillisecondsStart, jam.CurrentPeriod);
                        var scoresT1 = game.ScoresTeam1.Where(x => x.JamNumber == jam.JamNumber);
                        foreach (var score in scoresT1)
                            jvm.TotalPointsForJamT1 += score.Points;

                        var scoresT2 = game.ScoresTeam2.Where(x => x.JamNumber == jam.JamNumber);
                        foreach (var score in scoresT2)
                            jvm.TotalPointsForJamT2 += score.Points;

                        var getClock = getJamClocks.Where(x => x.JamNumber == jam.JamNumber).FirstOrDefault();
                        if (getClock != null)
                        {
                            StopwatchWrapper stop = new StopwatchWrapper();
                            stop.IsClockAtZero = getClock.IsClockAtZero == 1 ? true : false;
                            stop.IsRunning = getClock.IsRunning == 1 ? true : false;
                            stop.StartTime = getClock.StartDateTime;
                            stop.TimeElapsed = getClock.TimeElapsed;
                            stop.TimeRemaining = getClock.TimeRemaining;
                            stop.TimerLength = getClock.Length;
                            jvm.JamClock = stop;
                        }

                        if (jam.Blocker1Team1 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker1Team1.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker1Team1.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker1Team1.MemberName;
                            tmvm.SkaterNumber = jam.Blocker1Team1.MemberNumber;
                            jvm.Blocker1T1 = tmvm;
                        }
                        if (jam.Blocker2Team1 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker2Team1.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker2Team1.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker2Team1.MemberName;
                            tmvm.SkaterNumber = jam.Blocker2Team1.MemberNumber;
                            jvm.Blocker2T1 = tmvm;
                        }
                        if (jam.Blocker3Team1 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker3Team1.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker3Team1.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker3Team1.MemberName;
                            tmvm.SkaterNumber = jam.Blocker3Team1.MemberNumber;
                            jvm.Blocker3T1 = tmvm;
                        }
                        if (jam.Blocker4Team1 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker4Team1.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker4Team1.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker4Team1.MemberName;
                            tmvm.SkaterNumber = jam.Blocker4Team1.MemberNumber;
                            jvm.Blocker4T1 = tmvm;
                        }
                        if (jam.PivotTeam1 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.PivotTeam1.GameMemberId;
                            tmvm.SkaterLinkId = jam.PivotTeam1.MemberLinkId;
                            tmvm.SkaterName = jam.PivotTeam1.MemberName;
                            tmvm.SkaterNumber = jam.PivotTeam1.MemberNumber;
                            jvm.PivotT1 = tmvm;
                        }
                        if (jam.JammerTeam1 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.JammerTeam1.GameMemberId;
                            tmvm.SkaterLinkId = jam.JammerTeam1.MemberLinkId;
                            tmvm.SkaterName = jam.JammerTeam1.MemberName;
                            tmvm.SkaterNumber = jam.JammerTeam1.MemberNumber;
                            jvm.JammerT1 = tmvm;
                        }
                        if (jam.Blocker1Team2 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker1Team2.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker1Team2.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker1Team2.MemberName;
                            tmvm.SkaterNumber = jam.Blocker1Team2.MemberNumber;
                            jvm.Blocker1T2 = tmvm;
                        }
                        if (jam.Blocker2Team2 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker2Team2.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker2Team2.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker2Team2.MemberName;
                            tmvm.SkaterNumber = jam.Blocker2Team2.MemberNumber;
                            jvm.Blocker2T2 = tmvm;
                        }
                        if (jam.Blocker3Team2 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker3Team2.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker3Team2.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker3Team2.MemberName;
                            tmvm.SkaterNumber = jam.Blocker3Team2.MemberNumber;
                            jvm.Blocker3T2 = tmvm;
                        }
                        if (jam.Blocker4Team2 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.Blocker4Team2.GameMemberId;
                            tmvm.SkaterLinkId = jam.Blocker4Team2.MemberLinkId;
                            tmvm.SkaterName = jam.Blocker4Team2.MemberName;
                            tmvm.SkaterNumber = jam.Blocker4Team2.MemberNumber;
                            jvm.Blocker4T2 = tmvm;
                        }
                        if (jam.PivotTeam2 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.PivotTeam2.GameMemberId;
                            tmvm.SkaterLinkId = jam.PivotTeam2.MemberLinkId;
                            tmvm.SkaterName = jam.PivotTeam2.MemberName;
                            tmvm.SkaterNumber = jam.PivotTeam2.MemberNumber;
                            jvm.PivotT2 = tmvm;
                        }
                        if (jam.JammerTeam2 != null)
                        {
                            TeamMembersViewModel tmvm = new TeamMembersViewModel();
                            tmvm.SkaterId = jam.JammerTeam2.GameMemberId;
                            tmvm.SkaterLinkId = jam.JammerTeam2.MemberLinkId;
                            tmvm.SkaterName = jam.JammerTeam2.MemberName;
                            tmvm.SkaterNumber = jam.JammerTeam2.MemberNumber;
                            jvm.JammerT2 = tmvm;
                        }

                        //gets all the lead jammers for this particular jam.
                        var getLeadJammers = jam.LeadJammers.ToList();
                        foreach (var lJam in getLeadJammers)
                        {
                            try
                            {
                                if (lJam.GameMemberId != new Guid())
                                {
                                    LeadJammerViewModel ljvm = new LeadJammerViewModel();
                                    ljvm.GameTimeInMilliseconds = lJam.GameTimeInMilliseconds;
                                    ljvm.Jammer = new TeamMembersViewModel();
                                    ljvm.Jammer.SkaterId = lJam.GameMemberId;
                                    ljvm.JamTimeInMilliseconds = lJam.JamTimeInMilliseconds;
                                    ljvm.GameLeadJamId = lJam.GameJamLeadId;
                                    jvm.LeadJammers.Add(ljvm);
                                }
                            }
                            catch (Exception exception)
                            { ErrorDatabaseManager.AddException(exception, exception.GetType()); }
                        }

                        game.Jams.Add(jvm);
                    }
                    catch (Exception exception)
                    { ErrorDatabaseManager.AddException(exception, exception.GetType()); }
                }


                var Penalties = getGame.GameMemberPenaltyBox.ToList();

                for (int i = 0; i < Penalties.Count; i++)
                {
                    SkaterInPenaltyBoxViewModel skater = new SkaterInPenaltyBoxViewModel();
                    skater.GameTimeInMillisecondsReleased = Penalties[i].GameTimeMilliSecondsReturned;
                    skater.GameTimeInMillisecondsSent = Penalties[i].GameTimeMilliSecondsSent;
                    skater.JamNumberReleased = Penalties[i].JamNumberReturned;
                    skater.JamNumberSent = Penalties[i].JamNumberSent;
                    skater.JamTimeInMillisecondsReleased = Penalties[i].JamTimeMilliSecondsReturned;
                    skater.JamTimeInMillisecondsSent = Penalties[i].JamTimeMilliSecondsSent;
                    skater.PenaltyId = Penalties[i].PenaltyIdFromGame;
                    skater.PenaltyScale = (PenaltyScaleEnum)Enum.ToObject(typeof(PenaltyScaleEnum), (int)Penalties[i].PenaltyScale);
                    skater.PenaltyType = (PenaltiesEnum)Enum.Parse(typeof(PenaltiesEnum), Penalties[i].PenaltyType);
                    skater.PenaltyNumberForSkater = Penalties[i].PenaltyNumberForSkater;
                    bool checkIfPenaltyIsAssigned = false;


                    for (int j = 0; j < game.Team1.TeamMembers.Count; j++)
                    {
                        if (game.Team1.TeamMembers[j].SkaterId == Penalties[i].Member.GameMemberId)
                        {
                            skater.PlayerSentToBox = game.Team1.TeamMembers[j];
                            game.Team1.TeamMembers[j].Penalties.Add(new PenaltyViewModel(skater.PenaltyType));
                            checkIfPenaltyIsAssigned = true;
                            break;
                        }
                    }
                    if (!checkIfPenaltyIsAssigned)
                    {
                        for (int j = 0; j < game.Team2.TeamMembers.Count; j++)
                        {
                            if (game.Team2.TeamMembers[j].SkaterId == Penalties[i].Member.GameMemberId)
                            {
                                skater.PlayerSentToBox = game.Team2.TeamMembers[j];
                                game.Team2.TeamMembers[j].Penalties.Add(new PenaltyViewModel(skater.PenaltyType));
                                checkIfPenaltyIsAssigned = true;
                                break;
                            }
                        }
                    }

                    game.PenaltyBox.Add(skater);
                }

                var getPolicies = getGame.GamePolicy;
                if (getPolicies != null)
                {
                    if (game.Policy == null)
                        game.Policy = PolicyViewModel.Instance;
                    game.Policy.AdChangeAutomaticallyChangeImage = getPolicies.AdChangeAutomaticallyChangeImage == 0 ? false : true;
                    game.Policy.AdChangeDisplayChangesInMilliSeconds = (long)getPolicies.AdChangeDisplayChangesInMilliSeconds;
                    game.Policy.AdChangeShowAdsDuringIntermission = getPolicies.AdChangeShowAdsDuringIntermission == 0 ? false : true;
                    game.Policy.AdChangeShowAdsRandomly = getPolicies.AdChangeShowAdsRandomly == 0 ? false : true;
                    game.Policy.AdChangeUseLineUpClock = getPolicies.AdChangeUseLineUpClock == 0 ? false : true;
                    game.Policy.AlwaysShowJamClock = getPolicies.AlwaysShowJamClock == 0 ? false : true;
                    game.Policy.EnableAdChange = getPolicies.EnableAdChange == 0 ? false : true;
                    game.Policy.EnableIntermissionNaming = getPolicies.EnableIntermissionNaming == 0 ? false : true;
                    game.Policy.EnableIntermissionStartOfClock = getPolicies.EnableIntermissionStartOfClock == 0 ? false : true;
                    game.Policy.FirstIntermissionNameConfirmedText = getPolicies.FirstIntermissionNameConfirmedText;
                    game.Policy.FirstIntermissionNameText = getPolicies.FirstIntermissionNameText;
                    game.Policy.GameSelectionType = (GameTypeEnum)Enum.Parse(typeof(GameTypeEnum), getPolicies.GameSelectionType);
                    game.Policy.HideClockTimeAfterBout = getPolicies.HideClockTimeAfterBout == 0 ? false : true;
                    game.Policy.IntermissionOtherText = getPolicies.IntermissionOtherText;
                    game.Policy.IntermissionStartOfClockInMilliseconds = (long)getPolicies.IntermissionStartOfClockInMilliseconds;
                    game.Policy.IntermissionStopClockEnable = getPolicies.IntermissionStopClockEnable == 0 ? false : true;
                    game.Policy.IntermissionStopClockIncrementJamNumber = getPolicies.IntermissionStopClockIncrementJamNumber == 0 ? false : true;
                    game.Policy.IntermissionStopClockIncrementPeriodNumber = getPolicies.IntermissionStopClockIncrementPeriodNumber == 0 ? false : true;
                    game.Policy.IntermissionStopClockResetJamNumber = getPolicies.IntermissionStopClockResetJamNumber == 0 ? false : true;
                    game.Policy.IntermissionStopClockResetJamTime = getPolicies.IntermissionStopClockResetJamTime == 0 ? false : true;
                    game.Policy.IntermissionStopClockResetPeriodNumber = getPolicies.IntermissionStopClockResetPeriodNumber == 0 ? false : true;
                    game.Policy.IntermissionStopClockResetPeriodTime = getPolicies.IntermissionStopClockResetPeriodTime == 0 ? false : true;
                    game.Policy.JamClockControlsLineUpClock = getPolicies.JamClockControlsLineUpClock == 0 ? false : true;
                    game.Policy.JamClockControlsTeamPositions = getPolicies.JamClockControlsTeamPositions == 0 ? false : true;
                    game.Policy.JamClockTimePerJam = (long)getPolicies.JamClockTimePerJam;
                    game.Policy.LineupClockControlsStartJam = getPolicies.LineupClockControlsStartJam == 0 ? false : true;
                    game.Policy.LineUpClockPerJam = (long)getPolicies.LineUpClockPerJam;
                    game.Policy.NumberOfPeriods = (int)getPolicies.NumberOfPeriods;
                    game.Policy.PenaltyBoxControlsLeadJammer = getPolicies.PenaltyBoxControlsLeadJammer == 0 ? false : true;
                    game.Policy.PeriodClock = (long)getPolicies.PeriodClock;
                    game.Policy.PeriodClockControlsLineupJamClock = getPolicies.PeriodClockControlsLineupJamClock == 0 ? false : true;
                    game.Policy.SecondIntermissionNameConfirmedText = getPolicies.SecondIntermissionNameConfirmedText;
                    game.Policy.SecondIntermissionNameText = getPolicies.SecondIntermissionNameText;
                    game.Policy.TimeOutClock = (long)getPolicies.TimeOutClock;
                    game.Policy.TimeoutClockControlsLineupClock = getPolicies.TimeoutClockControlsLineupClock == 0 ? false : true;
                    game.Policy.TimeOutsPerPeriod = (int)getPolicies.TimeOutsPerPeriod;
                }




                //TODO: get game adverts.


                var getTimeOuts = getGame.GameTimeouts.ToList();
                foreach (var time in getTimeOuts)
                {
                    TimeOutViewModel tvm = new TimeOutViewModel();

                    tvm.TimeoutId = time.TimeOutId;
                    if (time.GameTeam != null && time.GameTeam.TeamId == game.Team1.TeamId)
                        tvm.TimeOutType = TimeOutTypeEnum.Team1;
                    else if (time.GameTeam != null && time.GameTeam.TeamId == game.Team2.TeamId)
                        tvm.TimeOutType = TimeOutTypeEnum.Team2;
                    else
                        tvm.TimeOutType = TimeOutTypeEnum.Offical;

                    if (game.TimeOuts == null)
                        game.TimeOuts = new List<TimeOutViewModel>();

                    game.TimeOuts.Add(tvm);
                }

                return game;
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return null;
        }
Exemplo n.º 12
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;
        }
Exemplo n.º 13
0
        /// <summary>
        /// add a skater to a team specified.
        /// </summary>
        /// <param name="skaterName"></param>
        /// <param name="skaterNumber"></param>
        /// <param name="team"></param>
        public void addTeamSkater(string skaterName, string skaterNumber, TeamNumberEnum team)
        {
            try
            {
                TeamMembersViewModel teamMember = new TeamMembersViewModel();
                teamMember.SkaterId = Guid.NewGuid();
                teamMember.SkaterName = skaterName;
                teamMember.SkaterNumber = skaterNumber;
                teamMember.IsBenched = true;
                teamMember.IsBlocker1 = false;
                teamMember.IsBlocker2 = false;
                teamMember.IsBlocker3 = false;
                teamMember.IsInBox = false;
                teamMember.IsJammer = false;
                teamMember.IsLeadJammer = false;
                teamMember.IsPivot = false;

                if (team == TeamNumberEnum.Team1)
                {
                    instance.Team1.TeamMembers.Add(teamMember);
                }
                else
                {
                    instance.Team2.TeamMembers.Add(teamMember);
                }
            }
            catch (Exception e)
            {
                ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI);
            }
        }
Exemplo n.º 14
0
        /// <summary>
        /// stuffs a copy of the league into the teamviewmodel object.
        /// </summary>
        /// <param name="leagueId"></param>
        /// <returns></returns>
        public static TeamViewModel GetLeagueInTeamViewModel(Guid leagueId)
        {
            try
            {
                var league = GetLeague(leagueId);
                if (league != null)
                {
                    TeamViewModel leag = new TeamViewModel();
                    leag.TeamLinkId = league.LeagueId;
                    leag.TeamName = league.Name;

                    foreach (var member in league.LeagueMembers)
                    {
                        TeamMembersViewModel mem = new TeamMembersViewModel();
                        mem.SkaterLinkId = member.MemberId;
                        mem.SkaterName = member.DerbyName;
                        mem.SkaterNumber = member.PlayerNumber;
                        leag.TeamMembers.Add(mem);
                    }
                    return leag;
                }
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return null;
        }
Exemplo n.º 15
0
        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>
 /// sets up the plain profile page for plain profiles.This will show the page on the scoreboard
 /// </summary>
 /// <param name="window"></param>
 /// <param name="member"></param>
 /// <param name="lineUpSettings"></param>
 /// <param name="logoLocation"></param>
 private static void setUpPlainProfilePage(MainWindow window, TeamMembersViewModel member, LineUpViewModel lineUpSettings, string logoLocation)
 {
     PlainProfile profile = new PlainProfile();
     profile.setBackgroundColor(lineUpSettings.PlainBackgroundColor);
     profile.setBorderColor(lineUpSettings.PlainBorderColor);
     profile.setLogo(logoLocation);
     profile.setSkaterName(member.SkaterName);
     profile.setSkaterNumber(member.SkaterNumber);
     profile.setSkaterPicture(member.SkaterPictureLocation);
     profile.setSkaterTextColor(lineUpSettings.PlainTextColor);
     foreach (var scoreboard in window.ClockViewArray)
         scoreboard.ContentControl.Content = profile;
 }
Exemplo n.º 17
0
 public void removeSkaterFromTeam(TeamMembersViewModel skater, TeamNumberEnum team)
 {
     try
     {
         if (team == TeamNumberEnum.Team1)
         {
             var member = this.Team1.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault();
             instance.Team1.TeamMembers.Remove(member);
         }
         else if (team == TeamNumberEnum.Team2)
         {
             var member = this.Team2.TeamMembers.Where(x => x.SkaterId == skater.SkaterId).FirstOrDefault();
             instance.Team2.TeamMembers.Remove(member);
         }
     }
     catch (Exception e)
     {
         ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI);
     }
 }
Exemplo n.º 18
0
 public static Guid AddJamPass(int team, Guid skaterId, Guid jamId, int jamNumber)
 {
     try
     {
         JamViewModel jam = null;
         if (GameViewModel.Instance.CurrentJam != null && GameViewModel.Instance.CurrentJam.JamId == jamId)
             jam = GameViewModel.Instance.CurrentJam;
         else
             jam = GameViewModel.Instance.Jams.Where(x => x.JamId == jamId).FirstOrDefault();
         if (jam != null)
         {
             if (team == 1)
             {
                 var skaterWhoPassed = GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == skaterId).FirstOrDefault();
                 //we don't want to move the entire skater object so we need to create a new skater here.
                 var tempSkater = new TeamMembersViewModel() { SkaterId = skaterWhoPassed.SkaterId, SkaterName = skaterWhoPassed.SkaterName, SkaterNumber = skaterWhoPassed.SkaterNumber };
                 JamPass pass = new JamPass(jamNumber, jam.JamClock.TimeElapsed, tempSkater, jamId, TeamNumberEnum.Team1);
                 jam.AddJamPass(pass);
                 return pass.PassId;
             }
             else if (team == 2)
             {
                 var skaterWhoPassed = GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == skaterId).FirstOrDefault();
                 //we don't want to move the entire skater object so we need to create a new skater here.
                 var tempSkater = new TeamMembersViewModel() { SkaterId = skaterWhoPassed.SkaterId, SkaterName = skaterWhoPassed.SkaterName, SkaterNumber = skaterWhoPassed.SkaterNumber };
                 JamPass pass = new JamPass(jamNumber, jam.JamClock.TimeElapsed, tempSkater, jamId, TeamNumberEnum.Team2);
                 jam.AddJamPass(pass);
                 return pass.PassId;
             }
         }
     }
     catch (Exception exception)
     {
         ErrorViewModel.Save(exception, exception.GetType(), additionalInformation: Logger.Instance.getLoggedMessages());
     }
     return new Guid();
 }
Exemplo n.º 19
0
        /// <summary>
        /// Sends Player to Penalty Box
        /// </summary>
        /// <param name="skaterBeingSentToBox"></param>
        public void sendSkaterToPenaltyBox(TeamMembersViewModel skaterBeingSentToBox, TeamNumberEnum team)
        {
            try
            {
                SkaterInPenaltyBoxViewModel skater = new SkaterInPenaltyBoxViewModel(skaterBeingSentToBox, instance.ElapsedTimeGameClockMilliSeconds, instance.CurrentJam.JamClock.TimeElapsed, instance.CurrentJam.JamId, instance.CurrentJam.JamNumber);

                instance.PenaltyBox.Add(skater);

                if (team == TeamNumberEnum.Team1)
                {
                    instance.Team1.TeamMembers.Where(x => x.SkaterId == skaterBeingSentToBox.SkaterId).FirstOrDefault().IsInBox = true;
                    //any skater in box isn't allowed to be lead jammer.
                    if (PolicyViewModel.Instance.PenaltyBoxControlsLeadJammer)
                        instance.Team1.TeamMembers.Where(x => x.SkaterId == skaterBeingSentToBox.SkaterId).FirstOrDefault().IsLeadJammer = false;

                    if (instance.CurrentJam.JammerT1 != null && instance.CurrentJam.JammerT1.SkaterId == skaterBeingSentToBox.SkaterId)
                    {
                        instance.CurrentJam.JammerT1 = null;
                    }
                    if (instance.CurrentJam.PivotT1 != null && instance.CurrentJam.PivotT1.SkaterId == skaterBeingSentToBox.SkaterId)
                    {
                        instance.CurrentJam.PivotT1 = null;
                    }
                }
                else if (team == TeamNumberEnum.Team2)
                {
                    instance.Team2.TeamMembers.Where(x => x.SkaterId == skaterBeingSentToBox.SkaterId).FirstOrDefault().IsInBox = true;
                    //any skater in box isn't allowed to be lead jammer.
                    if (PolicyViewModel.Instance.PenaltyBoxControlsLeadJammer)
                        instance.Team2.TeamMembers.Where(x => x.SkaterId == skaterBeingSentToBox.SkaterId).FirstOrDefault().IsLeadJammer = false;

                    if (instance.CurrentJam.JammerT2 != null && instance.CurrentJam.JammerT2.SkaterId == skaterBeingSentToBox.SkaterId)
                    {
                        instance.CurrentJam.JammerT2 = null;
                    }
                    if (instance.CurrentJam.PivotT2 != null && instance.CurrentJam.PivotT2.SkaterId == skaterBeingSentToBox.SkaterId)
                    {
                        instance.CurrentJam.PivotT2 = null;
                    }
                }
            }
            catch (Exception e)
            {
                ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI);
            }
        }
Exemplo n.º 20
0
        private static Tournament DisplayTournament(GameTournament tourny)
        {
            try
            {
                var memId = RDN.Library.Classes.Account.User.GetMemberId();
                Tournament to = new Tournament();
                to.TournamentClass = (TournamentClassEnum)tourny.TournamentClass;
                to.TournamentType = (TournamentTypeEnum)tourny.TournamentTypeEnum;
                to.EndDate = tourny.EndDate;
                if (tourny.SelectedShop != null)
                    to.SelectedShop = tourny.SelectedShop.MerchantId.ToString();
                to.EndDateDisplay = tourny.EndDate.ToShortDateString();
                to.StartDateDisplay = tourny.StartDate.ToShortDateString();
                to.StartDate = tourny.StartDate;
                to.Id = tourny.TournamentId;
                to.IsPublished = tourny.IsPublished;
                to.AreBracketsPublished = tourny.AreBracketsPublished;
                to.PrivateKey = tourny.PrivateTournamentId;
                to.Name = tourny.TournamentName;
                to.PassCodeForGames = tourny.TournamentPasscode;
                to.EmbedVideoString = tourny.EmbedVideoString;
                to.TournamentWebsite = tourny.TournamentWebsite;

                if (tourny.OwnerOfTournament != null)
                {
                    MemberDisplayBasic m = new MemberDisplayBasic();
                    m.DerbyName = tourny.OwnerOfTournament.DerbyName;
                    m.MemberId = tourny.OwnerOfTournament.MemberId;
                    m.UserId = tourny.OwnerOfTournament.AspNetUserId;
                    to.Owners.Add(m);
                }

                for (int i = 0; i < tourny.OwnersOfTournament.Count; i++)
                {
                    try
                    {
                        if (to.Owners.Where(x => x.MemberId == tourny.OwnersOfTournament[i].Owner.MemberId).FirstOrDefault() == null)
                        {
                            MemberDisplayBasic m = new MemberDisplayBasic();
                            m.DerbyName = tourny.OwnersOfTournament[i].Owner.DerbyName;
                            m.MemberId = tourny.OwnersOfTournament[i].Owner.MemberId;
                            m.UserId = tourny.OwnersOfTournament[i].Owner.AspNetUserId;
                            to.Owners.Add(m);
                        }
                    }
                    catch (Exception exception)
                    {
                        ErrorDatabaseManager.AddException(exception, exception.GetType());
                    }
                }


                if (tourny.Logo != null)
                    to.Photos.Add(new PhotoItem(tourny.Logo.ImageUrl, tourny.Logo.ImageUrlThumb, true, tourny.TournamentName));
                #region contact
                if (tourny.ContactCard != null)
                {
                    var add = tourny.ContactCard.Addresses.FirstOrDefault();
                    if (add != null)
                    {
                        to.Address = add.Address1;
                        to.Address2 = add.Address2;
                        to.City = add.CityRaw;
                        if (add.Country != null)
                        {
                            to.Country = add.Country.Code;
                            to.CountryId = add.Country.CountryId;
                        }
                        to.State = add.StateRaw;
                        to.ZipCode = add.Zip;
                    }
                }

                #endregion
                #region paywall
                if (tourny.Paywall != null)
                {
                    to.Paywall.DailyPrice = tourny.Paywall.DailyPrice;
                    to.Paywall.DescriptionOfPaywall = tourny.Paywall.DescriptionOfPaywall;
                    to.Paywall.EndDate = tourny.Paywall.EndDate;
                    if (tourny.Paywall.EndDate.HasValue)
                        to.Paywall.EndDateDisplay = tourny.Paywall.EndDate.Value.ToShortDateString();
                    to.Paywall.IsEnabled = tourny.Paywall.IsEnabled;
                    to.Paywall.IsRemoved = tourny.Paywall.IsRemoved;
                    to.Paywall.PaywallId = tourny.Paywall.PaywallId;
                    to.Paywall.StartDate = tourny.Paywall.StartDate;
                    if (tourny.Paywall.StartDate.HasValue)
                        to.Paywall.StartDateDisplay = tourny.Paywall.StartDate.Value.ToShortDateString();
                    to.Paywall.TimespanPrice = tourny.Paywall.TimespanPrice;
                    to.PaywallId = tourny.Paywall.PaywallId;
                    to.Paywall.AcceptPaypal = tourny.Paywall.Merchant.AcceptPaymentsViaPaypal;
                    to.Paywall.AcceptStripe = tourny.Paywall.Merchant.AcceptPaymentsViaStripe;
                    if (memId != new Guid())
                    {
                        var isPaid = tourny.Paywall.PaywallInvoices.Where(x => x.MemberPaidId == memId).OrderByDescending(x => x.Created).FirstOrDefault();
                        if (isPaid != null)
                        {
                            if (isPaid.ValidUntil > DateTime.UtcNow && (isPaid.Invoice.InvoiceStatus == (byte)InvoiceStatus.Payment_Successful || isPaid.Invoice.InvoiceStatus == (byte)InvoiceStatus.Pending_Payment_From_Paypal))
                            {
                                to.Paywall.IsPaid = true;
                            }
                        }
                        else
                            to.Paywall.IsPaid = false;
                    }
                    to.Paywall.MerchantId = tourny.Paywall.Merchant.MerchantId;
                }

                #endregion
                #region Games
                List<Game> games = new List<Game>();
                foreach (var game in tourny.Games)
                {
                    try
                    {
                        Game g = new Game();
                        g.GameId = game.GameId;
                        g.GameName = game.GameName;
                        g.GameDate = game.GameDate;
                        var teams = game.GameTeams.OrderByDescending(x => x.Created).Take(2);
                        var team1 = teams.OrderByDescending(x => x.TeamName).FirstOrDefault();
                        var team2 = teams.OrderBy(x => x.TeamName).FirstOrDefault();
                        g.Team1Name = team1.TeamName;
                        g.Team1LinkId = team1.TeamIdLink;
                        g.Team1Id = team1.TeamId;
                        g.Team2Name = team2.TeamName;
                        g.Team2LinkId = team2.TeamIdLink;
                        g.Team2Id = team2.TeamId;
                        g.Team1ScoreTotal = team1.GameScores.Select(x => x.Point).Sum();
                        g.Team2ScoreTotal = team2.GameScores.Select(x => x.Point).Sum();

                        foreach (var b in team1.GameMembers)
                        {
                            TeamMembersViewModel a = new TeamMembersViewModel();
                            a.SkaterId = b.GameMemberId;
                            a.SkaterLinkId = b.MemberLinkId;
                            a.SkaterName = b.MemberName;
                            a.SkaterNumber = b.MemberNumber;
                            if (to.AllSkaters.Where(x => x.SkaterLinkId == a.SkaterLinkId).FirstOrDefault() == null)
                                to.AllSkaters.Add(a);
                        }
                        foreach (var b in team2.GameMembers)
                        {
                            TeamMembersViewModel a = new TeamMembersViewModel();
                            a.SkaterId = b.GameMemberId;
                            a.SkaterLinkId = b.MemberLinkId;
                            a.SkaterName = b.MemberName;
                            a.SkaterNumber = b.MemberNumber;
                            if (to.AllSkaters.Where(x => x.SkaterLinkId == a.SkaterLinkId).FirstOrDefault() == null)
                                to.AllSkaters.Add(a);

                        }

                        foreach (var assist in game.GameMemberAssists)
                        {
                            AssistViewModel a = new AssistViewModel();
                            a.AssistId = assist.GameAssistId;
                            a.PlayerWhoAssisted = new TeamMembersViewModel();
                            a.PlayerWhoAssisted.SkaterId = assist.MemberWhoAssisted.GameMemberId;
                            a.PlayerWhoAssisted.SkaterName = assist.MemberWhoAssisted.MemberName;
                            a.PlayerWhoAssisted.SkaterLinkId = assist.MemberWhoAssisted.MemberLinkId;
                            to.AssistLeaders.Add(a);
                        }
                        foreach (var pen in game.GameMemberPenalties)
                        {
                            PenaltyViewModel a = new PenaltyViewModel();
                            a.PenaltyId = pen.GamePenaltyId;
                            a.PenaltyAgainstMember = new TeamMembersViewModel();
                            a.PenaltyAgainstMember.SkaterId = pen.MemberWhoPenaltied.GameMemberId;
                            a.PenaltyAgainstMember.SkaterName = pen.MemberWhoPenaltied.MemberName;
                            a.PenaltyAgainstMember.SkaterLinkId = pen.MemberWhoPenaltied.MemberLinkId;
                            a.PenaltyType = (PenaltiesEnum)Enum.Parse(typeof(PenaltiesEnum), pen.PenaltyType.ToString());
                            to.PenaltyLeaders.Add(a);
                        }
                        foreach (var blocks in game.GameMemberBlocks)
                        {
                            BlockViewModel a = new BlockViewModel();
                            a.BlockId = blocks.GameBlockId;
                            a.PlayerWhoBlocked = new TeamMembersViewModel();
                            a.PlayerWhoBlocked.SkaterId = blocks.MemberWhoBlocked.GameMemberId;
                            a.PlayerWhoBlocked.SkaterName = blocks.MemberWhoBlocked.MemberName;
                            a.PlayerWhoBlocked.SkaterLinkId = blocks.MemberWhoBlocked.MemberLinkId;
                            to.BlockLeaders.Add(a);
                        }
                        games.Add(g);
                    }
                    catch (Exception exception)
                    {
                        ErrorDatabaseManager.AddException(exception, exception.GetType());
                    }
                }

                to.Games = games;

                #endregion

                var ts = tourny.Teams.Where(x => x.IsRemoved == false);
                foreach (var team in ts)
                {
                    try
                    {
                        TeamViewModel t = new TeamViewModel();
                        t.PoolNumber = team.PoolNumber;
                        t.LeagueName = team.LeageName;
                        //t.TeamLinkId = team.TeamIdLink;
                        t.TeamName = team.TeamName;
                        t.TeamId = team.TeamId;
                        t.SeedRating = team.SeedRating;
                        to.TeamsForTournament.Add(t);
                        TournamentApi.TournamentTeam tt = new TournamentApi.TournamentTeam(team.TeamId, team.SeedRating, team.PoolNumber);
                        to.TeamsForTournamentApi.Add(tt);
                    }
                    catch (Exception exception)
                    {
                        ErrorDatabaseManager.AddException(exception, exception.GetType());
                    }
                }

                #region seededbracketsForPerformance
                try
                {
                    to.TouramentTypeForSeedingEnum = (TournamentTypeEnum)tourny.TournamentTypeEnumForSeedingRound;
                    if (to.TouramentTypeForSeedingEnum != TournamentTypeEnum.None)
                    {

                        TournamentApi.IPairingsGenerator pg = null;

                        switch (to.TouramentTypeForSeedingEnum)
                        {
                            case TournamentTypeEnum.Boil_Off:
                                pg = new BoilOffPairingsGenerator();
                                break;
                            case TournamentTypeEnum.Round_Robin:
                                pg = new RoundRobinPairingsGenerator();
                                break;
                            case TournamentTypeEnum.Double_Elimination:
                                pg = new EliminationTournament(2);
                                break;
                            case TournamentTypeEnum.Single_Elimination:
                                pg = new EliminationTournament(1);
                                break;
                            case TournamentTypeEnum.Round_Robin_Pool_Play:
                                pg = new RoundRobinPairingsGenerator(true);
                                break;
                        }
                        if (pg is TournamentApi.ITournamentVisualizer)
                        {
                            to.VisualizedBracketsSeeded = (TournamentApi.ITournamentVisualizer)pg;
                        }

                        foreach (var round in tourny.SeedingRounds)
                        {
                            try
                            {
                                TournamentRoundsClass r = new TournamentRoundsClass();
                                List<TournamentApi.TournamentPairing> ppList = new List<TournamentApi.TournamentPairing>();
                                r.RoundNumber = round.RoundNumber;
                                foreach (var pair in round.Pairings)
                                {
                                    List<TournamentApi.TournamentTeamScore> ttList = new List<TournamentApi.TournamentTeamScore>();
                                    TournamentPairingClass p = new TournamentPairingClass();
                                    p.Id = pair.PairingId;
                                    p.GroupId = pair.GroupId;
                                    p.TimeToStart = pair.StartTime.GetValueOrDefault();
                                    if (pair.StartTime.HasValue)
                                        p.TimeToStartDisplay = p.TimeToStart.ToString("HH:mm");
                                    p.TrackId = pair.TrackNumber;
                                    foreach (var team in pair.Teams)
                                    {
                                        TeamViewModel t = new TeamViewModel();
                                        t.TeamId = team.Team.TeamId;
                                        t.TeamName = team.Team.TeamName;
                                        t.TeamLinkId = team.TeamIdInGame;
                                        if (t.TeamLinkId != new Guid() && p.GameId == new Guid())
                                        {
                                            var g = to.Games.Where(x => x.Team1Id == t.TeamLinkId || x.Team2Id == t.TeamLinkId).FirstOrDefault();
                                            if (g != null)
                                                p.GameId = g.GameId;
                                        }
                                        t.Score = team.Score;
                                        p.Teams.Add(t);

                                        TournamentApi.TournamentTeamScore tt = new TournamentApi.TournamentTeamScore(new TournamentApi.TournamentTeam(t.TeamId, team.Team.SeedRating), new TournamentApi.HighestPointsScore(team.Score));
                                        ttList.Add(tt);

                                    }
                                    TournamentApi.TournamentPairing pp = new TournamentApi.TournamentPairing(ttList);
                                    pp.GroupId = p.GroupId;
                                    ppList.Add(pp);
                                    r.Pairings.Add(p);
                                }

                                TournamentApi.TournamentRound rr = new TournamentApi.TournamentRound(ppList);
                                to.TournamentRoundsApiForSeeding.Add(rr);
                                to.TournamentRoundsForSeedingGameplay.Add(r);
                            }
                            catch (Exception exception)
                            {
                                ErrorDatabaseManager.AddException(exception, exception.GetType());
                            }
                        }

                        if (pg != null)
                        {
                            pg.LoadState(to.TeamsForTournamentApi, to.TournamentRoundsApiForSeeding);
                            try
                            {
                                var nextRound = pg.CreateNextRound(null);

                                to.HasSeedingFinishForTournament = (nextRound == null) && (tourny.SeedingRounds.Count() > 1);

                                if (to.TournamentRoundsApiForSeeding.Any())
                                {
                                    var rankings = pg.GenerateRankings();

                                    to.RankingsForSeededRounds = new List<TournamentApi.TournamentRanking>(from rk in rankings
                                                                                                           select new TournamentApi.TournamentRanking
                                                                                                           {
                                                                                                               TeamName = to.TeamsForTournament.Where(tm => tm.TeamId == rk.team.TeamId).Single().TeamName,
                                                                                                               rank = rk.rank,
                                                                                                               Loses = rk.Loses,
                                                                                                               PointSpread = rk.PointSpread,
                                                                                                               scoreDescription = rk.scoreDescription,
                                                                                                               team = rk.team,
                                                                                                               TotalPoints = rk.TotalPoints,
                                                                                                               Wins = rk.Wins
                                                                                                           });
                                }

                            }
                            catch (Exception exception)
                            {
                                ErrorDatabaseManager.AddException(exception, exception.GetType());
                            }
                        }
                    }
                }
                catch (Exception exception)
                {
                    ErrorDatabaseManager.AddException(exception, exception.GetType());
                }

                #endregion


                #region brackets
                try
                {
                    to.TournamentType = (TournamentTypeEnum)tourny.TournamentTypeEnum;
                    if (to.TournamentType != TournamentTypeEnum.None)
                    {
                        if (to.TouramentTypeForSeedingEnum != TournamentTypeEnum.None && to.HasSeedingFinishForTournament)
                        {
                            foreach (var ranking in to.RankingsForSeededRounds)
                            {
                                var team = to.TeamsForTournamentApi.Where(x => x.TeamId == ranking.team.TeamId).FirstOrDefault();
                                team.Rating = (int)ranking.rank;
                            }
                        }


                        TournamentApi.IPairingsGenerator pg = null;

                        switch (to.TournamentType)
                        {
                            case TournamentTypeEnum.Boil_Off:
                                pg = new BoilOffPairingsGenerator();
                                break;
                            case TournamentTypeEnum.Round_Robin:
                                pg = new RoundRobinPairingsGenerator();
                                break;
                            case TournamentTypeEnum.Round_Robin_Pool_Play:
                                pg = new RoundRobinPairingsGenerator(true);
                                break;
                            case TournamentTypeEnum.Double_Elimination:
                                pg = new EliminationTournament(2);
                                break;
                            case TournamentTypeEnum.Single_Elimination:
                                pg = new EliminationTournament(1);
                                break;
                        }
                        try
                        {
                            if (pg is TournamentApi.ITournamentVisualizer)
                            {
                                to.VisualizedBrackets = (TournamentApi.ITournamentVisualizer)pg;
                            }
                        }
                        catch //(TournamentApi.InvalidTournamentStateException ex)
                        {
                            //Debug.WriteLine(ex);
                        }

                        foreach (var round in tourny.Rounds)
                        {
                            try
                            {
                                TournamentRoundsClass r = new TournamentRoundsClass();
                                List<TournamentApi.TournamentPairing> ppList = new List<TournamentApi.TournamentPairing>();
                                r.RoundNumber = round.RoundNumber;
                                foreach (var pair in round.Pairings)
                                {
                                    List<TournamentApi.TournamentTeamScore> ttList = new List<TournamentApi.TournamentTeamScore>();
                                    TournamentPairingClass p = new TournamentPairingClass();
                                    p.Id = pair.PairingId;
                                    p.GroupId = pair.GroupId;
                                    p.TimeToStart = pair.StartTime.GetValueOrDefault();
                                    if (pair.StartTime.HasValue)
                                        p.TimeToStartDisplay = p.TimeToStart.ToString("HH:mm");
                                    p.TrackId = pair.TrackNumber;
                                    foreach (var team in pair.Teams)
                                    {
                                        TeamViewModel t = new TeamViewModel();
                                        t.TeamId = team.Team.TeamId;
                                        t.TeamName = team.Team.TeamName;
                                        t.TeamLinkId = team.TeamIdInGame;
                                        if (t.TeamLinkId != new Guid() && p.GameId == new Guid())
                                        {
                                            var g = to.Games.Where(x => x.Team1Id == t.TeamLinkId || x.Team2Id == t.TeamLinkId).FirstOrDefault();
                                            if (g != null)
                                                p.GameId = g.GameId;
                                        }
                                        t.Score = team.Score;
                                        p.Teams.Add(t);

                                        TournamentApi.TournamentTeamScore tt = new TournamentApi.TournamentTeamScore(new TournamentApi.TournamentTeam(t.TeamId, team.Team.SeedRating), new TournamentApi.HighestPointsScore(team.Score));
                                        ttList.Add(tt);

                                    }
                                    TournamentApi.TournamentPairing pp = new TournamentApi.TournamentPairing(ttList);
                                    pp.GroupId = p.GroupId;
                                    ppList.Add(pp);
                                    r.Pairings.Add(p);
                                }

                                TournamentApi.TournamentRound rr = new TournamentApi.TournamentRound(ppList);
                                to.TournamentRoundsApi.Add(rr);
                                to.TournamentRounds.Add(r);
                            }
                            catch (Exception exception)
                            {
                                ErrorDatabaseManager.AddException(exception, exception.GetType());
                            }
                        }

                        if (pg != null)
                        {
                            pg.LoadState(to.TeamsForTournamentApi, to.TournamentRoundsApi);
                            try
                            {
                                var nextRound = pg.CreateNextRound(null);

                                to.IsTournamentFinished = (nextRound == null) && (tourny.Rounds.Count() > 1);

                                if (to.TournamentRoundsApi.Any())
                                {
                                    var rankings = pg.GenerateRankings();

                                    to.Rankings = new List<TournamentApi.TournamentRanking>(from rk in rankings
                                                                                            select new TournamentApi.TournamentRanking
                                                                                         {
                                                                                             TeamName = to.TeamsForTournament.Where(tm => tm.TeamId == rk.team.TeamId).Single().TeamName,
                                                                                             rank = rk.rank,
                                                                                             Loses = rk.Loses,
                                                                                             PointSpread = rk.PointSpread,
                                                                                             scoreDescription = rk.scoreDescription,
                                                                                             team = rk.team,
                                                                                             TotalPoints = rk.TotalPoints,
                                                                                             Wins = rk.Wins
                                                                                         });
                                }

                            }
                            catch (TournamentApi.InvalidTournamentStateException)
                            {
                            }
                        }
                    }
                }
                catch (Exception exception)
                {
                    ErrorDatabaseManager.AddException(exception, exception.GetType());
                }

                #endregion
                return to;
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return null;
        }
Exemplo n.º 21
0
 private static void LoadPictureOfMemberFromSavedGame(TeamMembersViewModel member)
 {
     member.SkaterPictureLocation = LoadPictureOfMemberFromSavedGame(member.SkaterPictureLocation, member.SkaterId, member.SkaterPictureCompressed);
     member.SkaterPictureCompressed = null;
 }
Exemplo n.º 22
0
        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());
            }
        }
Exemplo n.º 23
0
        public static string GetPlayerPositions(Guid playerId, int teamNumber)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("{");
            try
            {
                TeamMembersViewModel skater = new TeamMembersViewModel();
                if (teamNumber == 1 && GameViewModel.Instance.Team1.TeamMembers.Count > 0)
                    skater = GameViewModel.Instance.Team1.TeamMembers.Where(x => x.SkaterId == playerId).FirstOrDefault();
                else if (teamNumber == 2 && GameViewModel.Instance.Team2.TeamMembers.Count > 0)
                    skater = GameViewModel.Instance.Team2.TeamMembers.Where(x => x.SkaterId == playerId).FirstOrDefault();

                sb.Append("\"isJammer\":\"");
                sb.Append(skater.IsJammer);
                sb.Append("\",");
                sb.Append("\"isPivot\":\"");
                sb.Append(skater.IsPivot);
                sb.Append("\",");
                sb.Append("\"isPBox\":\"");
                sb.Append(skater.IsInBox);
                sb.Append("\",");
                sb.Append("\"isBlocker1\":\"");
                sb.Append(skater.IsBlocker1);
                sb.Append("\",");
                sb.Append("\"isBlocker2\":\"");
                sb.Append(skater.IsBlocker2);
                sb.Append("\",");
                sb.Append("\"isBlocker3\":\"");
                sb.Append(skater.IsBlocker3);
                sb.Append("\",");
                sb.Append("\"isBlocker4\":\"");
                sb.Append(skater.IsBlocker4);
                sb.Append("\"");
            }
            catch (Exception exception)
            {
                ErrorViewModel.Save(exception, exception.GetType(), additionalInformation: Logger.Instance.getLoggedMessages());
            }
            sb.Append("}");

            return sb.ToString();
        }
Exemplo n.º 24
0
        /// <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());
            }
        }
Exemplo n.º 25
0
 /// <summary>
 /// gets the members of a league.
 /// </summary>
 /// <param name="leagueId"></param>
 /// <returns></returns>
 public static ObservableCollection<TeamMembersViewModel> GetLeagueMembersForGame(Guid leagueId)
 {
     ObservableCollection<TeamMembersViewModel> memberDis = new ObservableCollection<TeamMembersViewModel>();
     try
     {
         var dc = new ManagementContext();
         var members = dc.LeagueMembers.Where(x => x.League.LeagueId == leagueId).ToList();
         foreach (var mem in members)
         {
             TeamMembersViewModel memDis = new TeamMembersViewModel();
             memDis.SkaterId = mem.Member.MemberId;
             memDis.SkaterName = mem.Member.DerbyName;
             memberDis.Add(memDis);
         }
     }
     catch (Exception exception)
     {
         ErrorDatabaseManager.AddException(exception, exception.GetType());
     }
     return memberDis;
 }
        /// <summary>
        /// sets up the side bar profile page.This will show the page on the scoreboard
        /// </summary>
        /// <param name="window"></param>
        /// <param name="member"></param>
        /// <param name="lineUpSettings"></param>
        /// <param name="logoLocation"></param>
        /// <param name="teamName"></param>
        private static void setUpSideBarProfilePage(MainWindow window, TeamMembersViewModel member, LineUpViewModel lineUpSettings, string logoLocation, string teamName)
        {
            SideBarProfile profile = new SideBarProfile();
            profile.setBackgroundColor(lineUpSettings.SidebarBackgroundColor);
            profile.setLogo(logoLocation);
            profile.setSkaterName(member.SkaterName);
            profile.setSkaterNumber(member.SkaterNumber);
            profile.setSkaterPicture(member.SkaterPictureLocation);
            profile.setSkaterTextColor(lineUpSettings.SidebarSkaterTextColor);
            profile.setSidebarColor(lineUpSettings.SidebarColor);
            profile.setSideBarPanelText(teamName);
            profile.setSidebarTextColor(lineUpSettings.SidebarTextColor);
            foreach (var scoreboard in window.ClockViewArray)
                scoreboard.ContentControl.Content = profile;

        }
Exemplo n.º 27
0
        /// <summary>
        /// removes the player from the penalty box.
        /// </summary>
        /// <param name="skaterBeingRemovedFromBox"></param>
        /// <param name="team"></param>
        public void removeSkaterFromPenaltyBox(TeamMembersViewModel skaterBeingRemovedFromBox, TeamNumberEnum team)
        {
            try
            {
                if (skaterBeingRemovedFromBox.IsInBox)
                {
                    instance.PenaltyBox.Where(x => x.PlayerSentToBox.SkaterId == skaterBeingRemovedFromBox.SkaterId).LastOrDefault().GameTimeInMillisecondsReleased = instance.ElapsedTimeGameClockMilliSeconds;
                    instance.PenaltyBox.Where(x => x.PlayerSentToBox.SkaterId == skaterBeingRemovedFromBox.SkaterId).LastOrDefault().JamTimeInMillisecondsReleased = instance.CurrentJam.JamClock.TimeElapsed;
                    instance.PenaltyBox.Where(x => x.PlayerSentToBox.SkaterId == skaterBeingRemovedFromBox.SkaterId).LastOrDefault().JamIdReleased = instance.CurrentJam.JamId;
                    //instance.PenaltyBox.Where(x => x.PlayerSentToBox.SkaterId == skaterBeingRemovedFromBox.SkaterId).LastOrDefault().JamIdReleased = instance.CurrentJam.JamId;

                    if (team == TeamNumberEnum.Team1)
                        instance.Team1.TeamMembers.Where(x => x.SkaterId == skaterBeingRemovedFromBox.SkaterId).FirstOrDefault().IsInBox = false;
                    else if (team == TeamNumberEnum.Team2)
                        instance.Team2.TeamMembers.Where(x => x.SkaterId == skaterBeingRemovedFromBox.SkaterId).FirstOrDefault().IsInBox = false;
                }
            }
            catch (Exception e)
            {
                ErrorViewModel.Save(e, this.GetType(), ErrorGroupEnum.UI);
            }
        }