private RadDiagramShape CreatePlayerLabel(ReplayerPlayerViewModel p)
        {
            var label = new RadDiagramShape()
            {
                DataContext      = p,
                Tag              = p,
                Height           = PLAYER_HEIGHT,
                Width            = PLAYER_WIDTH,
                StrokeThickness  = 0,
                BorderThickness  = new Thickness(0),
                IsEnabled        = false,
                IsHitTestVisible = false,
                FontSize         = 13
            };

            BindingOperations.ClearBinding(label, Control.BackgroundProperty);

            Binding myBinding = new Binding(nameof(ReplayerPlayerViewModel.IsFinished))
            {
                Source = p, Mode = BindingMode.TwoWay, Converter = new ReplayerBrushPlayerConverter()
            };

            label.SetBinding(Control.BackgroundProperty, myBinding);

            return(label);
        }
        private void LoadPlayerHudStats(ReplayerPlayerViewModel replayerPlayer, ReplayerViewModel replayerViewModel, IList <StatInfo> statInfoCollection)
        {
            replayerPlayer.StatInfoCollection.Clear();

            HudLightIndicators hudIndicators;

            if (storageModel.PlayerSelectedItem.Name == replayerPlayer.Name &&
                (short?)storageModel.PlayerSelectedItem.PokerSite == replayerViewModel.CurrentHand.PokersiteId)
            {
                hudIndicators = new HudLightIndicators(storageModel.GetStatisticCollection());
            }
            else
            {
                hudIndicators = new HudLightIndicators();

                playerStatisticRepository
                .GetPlayerStatistic(replayerPlayer.Name, replayerViewModel.CurrentHand.PokersiteId)
                .ForEach(stat => hudIndicators.AddStatistic(stat));
            }

            if (hudIndicators != null)
            {
                var statList = new List <StatInfo>();

                var counter = 0;

                foreach (var selectedStatInfo in statInfoCollection)
                {
                    if (selectedStatInfo is StatInfoBreak)
                    {
                        continue;
                    }

                    var statInfo = selectedStatInfo.Clone();

                    var propertyName = StatsProvider.GetStatProperyName(statInfo.Stat);

                    if (!string.IsNullOrWhiteSpace(propertyName))
                    {
                        statInfo.AssignStatInfoValues(hudIndicators, propertyName);
                    }

                    replayerPlayer.StatInfoCollection.Add(statInfo);

                    if ((counter + 1) % 4 == 0)
                    {
                        replayerPlayer.StatInfoCollection.Add(new StatInfoBreak());
                    }

                    counter++;
                }
            }
        }
        private RadDiagramShape CreateDealerLabel(RadDiagram diagram, ReplayerPlayerViewModel player)
        {
            var button = new RadDiagramShape()
            {
                Background      = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(diagram), DealerImage))),
                Height          = BUTTON_HEIGHT,
                Width           = BUTTON_WIDTH,
                StrokeThickness = 0,
                IsEnabled       = false,
            };

            Binding myBinding = new Binding(nameof(ReplayerPlayerViewModel.IsDealer))
            {
                Source = player, Mode = BindingMode.TwoWay, Converter = new BoolToVisibilityConverter()
            };

            button.SetBinding(UIElement.VisibilityProperty, myBinding);

            return(button);
        }
        private void AddPotPlayerLabel(RadDiagram diagram, ReplayerPlayerViewModel player, double x, double y)
        {
            try
            {
                System.Windows.Controls.Label lbl = new System.Windows.Controls.Label();
                Binding myBinding = new Binding(ReflectionHelper.GetPath <ReplayerPlayerViewModel>(o => o.ActiveAmount))
                {
                    Source = player, Mode = BindingMode.TwoWay, Converter = new DecimalToPotConverter(), ConverterParameter = "{0:C2}"
                };
                lbl.SetBinding(ContentControl.ContentProperty, myBinding);
                lbl.Foreground = Brushes.White;

                lbl.Margin = new Thickness(x - 15, y + 20, 100, 100);

                diagram.AddShape(lbl);
            }
            catch (Exception e)
            {
                LogProvider.Log.Error(this, e);
            }
        }
        private RadContextMenu CreateContextMenu(short pokerSiteId, string playerName, ReplayerPlayerViewModel datacontext)
        {
            RadContextMenu radMenu = new RadContextMenu();

            var item = new RadMenuItem();

            var binding = new Binding(nameof(ReplayerPlayerViewModel.NoteMenuItemText))
            {
                Source = datacontext, Mode = BindingMode.OneWay
            };

            item.SetBinding(HeaderedItemsControl.HeaderProperty, binding);

            item.Click += (s, e) =>
            {
                PlayerNoteViewModel viewModel = new PlayerNoteViewModel(pokerSiteId, playerName);

                var frm = new PlayerNoteView(viewModel)
                {
                    Owner = System.Windows.Application.Current.MainWindow
                };

                frm.ShowDialog();

                var clickedItem = s as FrameworkElement;

                if (clickedItem == null || !(clickedItem.DataContext is ReplayerPlayerViewModel))
                {
                    return;
                }

                var hudElement = clickedItem.DataContext as ReplayerPlayerViewModel;
                hudElement.NoteToolTip = viewModel.HasNotes ? viewModel.Note : string.Empty;
            };

            radMenu.Items.Add(item);

            return(radMenu);
        }