public StrokePositionTableViewModel(Models.Stroke s, IMatchManager m)
        {
            Stroke = s;
            s.StrokePlacementChanged += OnPlacementChanged;

            // For Ball Placement
            widthHeight = 20;


            if (s.PointOfContact == null)
            {
                s.PointOfContact = "";
            }

            if (s.PointOfContact.Equals("over"))
            {
                over = true;
            }
            else if (s.PointOfContact.Equals("half-distance"))
            {
                half = true;
            }
            else if (s.PointOfContact.Equals("behind"))
            {
                behind = true;
            }

            if (s.Player == Models.MatchPlayer.First)
            {
                showTopTable = !(m.CurrentTableEndFirstPlayer == Models.CurrentTableEnd.Top);
            }
            else
            {
                showTopTable = !(m.CurrentTableEndSecondPlayer == Models.CurrentTableEnd.Top);
            }
            showBotTable = !showTopTable;

            if (s.Placement == null || (s.Placement.WX == -1 && s.Placement.WY == -1))
            {
                uncheckAllRadioButtons();
                placementVisibilty = Visibility.Hidden;
            }
            else
            {
                checkRadioButtonAtFieldPosition(new Point(s.Placement.WX, s.Placement.WY));
                placementVisibilty = Visibility.Visible;
            }
        }
        public ServicePositionTableViewModel(Models.Stroke s, IMatchManager m)
        {
            Stroke = s;
            s.StrokePlacementChanged += OnPlacementChanged;

            poc       = false;
            pocActive = false;

            // For Ball Placement
            widthHeight = 20;

            if (!double.IsNaN(s.Playerposition))
            {
                CheckPlayerPosition(s.Playerposition);
            }

            if (s.Player == Models.MatchPlayer.First)
            {
                showTopTable = !(m.CurrentTableEndFirstPlayer == Models.CurrentTableEnd.Top);
            }
            else
            {
                showTopTable = !(m.CurrentTableEndSecondPlayer == Models.CurrentTableEnd.Top);
            }
            showBotTable = !showTopTable;

            if (s.Placement == null || (s.Placement.WX == 0 && s.Placement.WY == 0))
            {
                uncheckAllRadioButtons();
                placementVisibilty = Visibility.Hidden;
            }
            else
            {
                checkRadioButtonAtFieldPosition(new Point(s.Placement.WX, s.Placement.WY));
                placementVisibilty = Visibility.Visible;
            }
        }