public PenaltyViewModel(PenaltiesEnum penaltyType, long periodTimeRemaining, int currentJam, int period, DateTime timePened, Guid penaltyId)
 {
     PenaltyTypeAbbre = ToAbbreviation(penaltyType);
     PenaltyType = penaltyType;
     CurrentDateTimePenalty = timePened;
     GameTimeInMilliseconds = periodTimeRemaining;
     Period = period;
     JamNumber = currentJam;
     PenaltyId = penaltyId;
 }
 /// <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();
 }
 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();
 }
 /// <summary>
 /// pushes the abbrieviation to what derby people understand.
 /// </summary>
 /// <param name="penalty"></param>
 /// <returns></returns>
 public static string ToAbbreviation(PenaltiesEnum penalty)
 {
     switch (penalty)
     {
         case PenaltiesEnum.Abusive_Language:
             return "AL";
         case PenaltiesEnum.Back_Block:
             return "BB";
         case PenaltiesEnum.Blocking_Out_Of_Bounds:
             return "BoB";
         case PenaltiesEnum.Blocking_To_The_Head:
             return "BH";
         case PenaltiesEnum.Cut_Track:
             return "X";
         case PenaltiesEnum.Elbows:
             return "E";
         case PenaltiesEnum.Excessive_Force:
             return "EF";
         case PenaltiesEnum.Expulsion:
             return "E";
         case PenaltiesEnum.False_Start:
             return "FS";
         case PenaltiesEnum.Forearms:
             return "F";
         case PenaltiesEnum.Four_Minors:
             return "FM";
         case PenaltiesEnum.Hitting:
             return "H";
         case PenaltiesEnum.Illegal_Procedure:
             return "IP";
         case PenaltiesEnum.Low_Block:
             return "LB";
         case PenaltiesEnum.Multi_Player_Block:
             return "MPB";
         case PenaltiesEnum.Team_Penalty:
             return "TP";
         case PenaltiesEnum.Arms:
             return "A";
         case PenaltiesEnum.Tripping:
             return "T";
         case PenaltiesEnum.Clockwise_Skating:
             return "C";
         case PenaltiesEnum.Stopping:
             return "S";
         case PenaltiesEnum.ClockWise_Blocking:
             return "BC";
         case PenaltiesEnum.Stop_Blocks:
             return "BS";
         case PenaltiesEnum.Assisting_Out_Of_Bounds:
             return "AB";
         case PenaltiesEnum.Destruction_Of_Pack:
             return "DP";
         case PenaltiesEnum.Failure_To_Reform:
             return "FR";
         case PenaltiesEnum.Skating_Out_Of_Play:
             return "OP";
         case PenaltiesEnum.Blocking_Out_Of_Play:
             return "BP";
         case PenaltiesEnum.Assisting_Out_Of_Play:
             return "AP";
         case PenaltiesEnum.Unknown:
             return "U";
         case PenaltiesEnum.Illegal_Contact:
             return "IC";
         default:
             return "";
     }
 }
        public static PenaltiesWFTDAEnum ConvertToWFTDA(PenaltiesEnum penalty)
        {
            switch (penalty)
            {

                case PenaltiesEnum.High_Block:
                    return PenaltiesWFTDAEnum.High_Block;
                case PenaltiesEnum.Blocking_To_The_Head:
                    return PenaltiesWFTDAEnum.Blocking_With_Head;
                case PenaltiesEnum.ClockWise_Blocking:
                    return PenaltiesWFTDAEnum.Clockwise_To_Block;
                case PenaltiesEnum.Direction_Of_Gameplay:
                    return PenaltiesWFTDAEnum.Direction_Of_Gameplay;
                case PenaltiesEnum.Failure_To_Reform:
                    return PenaltiesWFTDAEnum.Failure_To_Reform;
                case PenaltiesEnum.Destruction_Of_Pack:
                    return PenaltiesWFTDAEnum.Destruction_Of_Pack;
                case PenaltiesEnum.Out_Of_Play:
                    return PenaltiesWFTDAEnum.Out_Of_Play;
                case PenaltiesEnum.Skating_Out_Of_Bounds:
                    return PenaltiesWFTDAEnum.Skating_Out_Of_Bounds;
                case PenaltiesEnum.Insubordination:
                    return PenaltiesWFTDAEnum.Misconduct_Gross;
                case PenaltiesEnum.Back_Block:
                    return PenaltiesWFTDAEnum.Back_Block;
                case PenaltiesEnum.Blocking_Out_Of_Bounds:
                    return PenaltiesWFTDAEnum.Blocking_Out_Of_Bounds;
                case PenaltiesEnum.Assisting_Out_Of_Bounds:
                    return PenaltiesWFTDAEnum.Assisting_Out_Of_Bounds;
                case PenaltiesEnum.Cut_Track:
                    return PenaltiesWFTDAEnum.Cut_Track;
                case PenaltiesEnum.Elbows:
                    return PenaltiesWFTDAEnum.Elbows;
                case PenaltiesEnum.Forearms:
                    return PenaltiesWFTDAEnum.Forearms;
                case PenaltiesEnum.Violation:
                    return PenaltiesWFTDAEnum.Violation;
                case PenaltiesEnum.False_Start:
                    return PenaltiesWFTDAEnum.False_Start;
                case PenaltiesEnum.Illegal_Procedure:
                    return PenaltiesWFTDAEnum.Illegal_Procedure;
                case PenaltiesEnum.Low_Block:
                    return PenaltiesWFTDAEnum.Low_Block;
                case PenaltiesEnum.Multi_Player_Block:
                    return PenaltiesWFTDAEnum.Multi_Player_Block;
                default:
                    return PenaltiesWFTDAEnum.Unknown;
            }
        }
 public PenaltyViewModel(PenaltiesEnum penaltyType)
 {
     this.PenaltyType = penaltyType;
 }