Example #1
0
        void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            var betsPerSecond = Math.Round((e.ProgressPercentage / (DateTime.Now - _initialDateTime).TotalSeconds), 2, MidpointRounding.AwayFromZero);
            lblBetsPerSecond.Content = $"{betsPerSecond} Bet{(betsPerSecond <= 1 ? string.Empty : "s")}/s";

            #region Status update
            if (_roll.status)
            {
                if (_bet.Equals("over"))
                {
                    //radOver.IsChecked = true;
                }
                else
                {
                    //radUnder.IsChecked = true;
                }
                
                txtNextBetAmount.Text = $"{Math.Round(_currentAmount*100000000)}";

                #region Add to DataGrid at Won
                if ((bool)chkShowWon.IsChecked && _roll.data.status.Equals("WIN"))
                {
                    var data = new GenericDataGrid
                    {
                        status = _roll.data.status,
                        amount = $"-{Math.Round(_roll.data.amount*100000000)} Satoshi",
                        payout = $"{Math.Round(_roll.data.payout*100000000)} Satoshi",
                        profit = $"{Math.Round(_roll.data.profit*100000000)} Satoshi",
                        result = _roll.data.result,
                        bet = _roll.data.bet,
                        chance = $"{_roll.data.chance}%",
                        id = _roll.data.id,
                        hour = DateTime.Now.ToString("HH:mm:ss", DateTimeFormatInfo.InvariantInfo)
                    };
                    var selected = dataBets.SelectedItem;
                    _datosRoll.Add(data);
                    dataBets.Items.Refresh();
                    dataBets.SelectedItem = selected;
                }
                #endregion
                #region Add to DataGrid at Jackpot
                if ((bool)radJackpot0.IsChecked && (bool)chkOnlyJackpot.IsChecked && _roll.data.status.Equals("WIN") && _roll.data.result.Equals(0))
                {
                    var data = new GenericDataGrid
                    {
                        status = _roll.data.status,
                        amount = $"-{Math.Round(_roll.data.amount*100000000)} Satoshi",
                        payout = $"{Math.Round(_roll.data.payout*100000000)} Satoshi",
                        profit = $"{Math.Round(_roll.data.profit*100000000)} Satoshi",
                        result = _roll.data.result,
                        bet = _roll.data.bet,
                        chance = $"{_roll.data.chance}%",
                        id = _roll.data.id,
                        hour = DateTime.Now.ToString("HH:mm:ss", DateTimeFormatInfo.InvariantInfo)
                    };
                    var selected = dataBets.SelectedItem;
                    _datosRoll.Add(data);
                    dataBets.Items.Refresh();
                    dataBets.SelectedItem = selected;
                }
                if ((bool)radJackpot99.IsChecked && (bool)chkOnlyJackpot.IsChecked && _roll.data.status.Equals("WIN") && _roll.data.result.Equals(99.99))
                {
                    var data = new GenericDataGrid
                    {
                        status = _roll.data.status,
                        amount = $"-{Math.Round(_roll.data.amount*100000000)} Satoshi",
                        payout = $"{Math.Round(_roll.data.payout*100000000)} Satoshi",
                        profit = $"{Math.Round(_roll.data.profit*100000000)} Satoshi",
                        result = _roll.data.result,
                        bet = _roll.data.bet,
                        chance = $"{_roll.data.chance}%",
                        id = _roll.data.id,
                        hour = DateTime.Now.ToString("HH:mm:ss", DateTimeFormatInfo.InvariantInfo)
                    };
                    var selected = dataBets.SelectedItem;
                    _datosRoll.Add(data);
                    dataBets.Items.Refresh();
                    dataBets.SelectedItem = selected;
                }
                #endregion
                #region Add to DataGrid at Lost
                if ((bool)chkShowLost.IsChecked && _roll.data.status.Equals("LOSS"))
                {
                    var data = new GenericDataGrid
                    {
                        status = _roll.data.status,
                        amount = $"-{Math.Round(_roll.data.amount*100000000)} Satoshi",
                        payout = "0 Satoshi",
                        profit = $"{Math.Round(_roll.data.profit*100000000)} Satoshi",
                        result = _roll.data.result,
                        bet = _roll.data.bet,
                        chance = $"{_roll.data.chance}%",
                        id = _roll.data.id,
                        hour = DateTime.Now.ToString("HH:mm:ss", DateTimeFormatInfo.InvariantInfo)
                    };
                    var selected = dataBets.SelectedItem;
                    _datosRoll.Add(data);
                    dataBets.Items.Refresh();
                    dataBets.SelectedItem = selected;
                }
                #endregion

                if ((bool)chkAutoScroll.IsChecked && dataBets.Items.Count > 0)
                {
                    dataBets.ScrollIntoView(dataBets.Items[dataBets.Items.Count - 1]);
                }

                BalanceUpdate(_balance);

                if (_cantidad == 0)
                {
                    if (_manuallyStopped)
                    {
                        //if (_roll.data != null)
                            //lblStatus.Content = $"Bet {e.ProgressPercentage}: {_roll.data.status}. Bets stopped.";
                    }
                    else
                    {
                        //if (_roll.data != null)
                            //lblStatus.Content = $"Bet {e.ProgressPercentage}: {_roll.data.status}";
                    }
                }
                else
                {
                    if (_manuallyStopped)
                    {
                        //if (_roll.data != null)
                            //lblStatus.Content = $"Last bet: {_roll.data.status}. Stopped.";
                    }
                    else
                    {
                        //if (_roll.data != null)
                            //lblStatus.Content = $"Bet {e.ProgressPercentage}/{_cantidad}: {_roll.data.status}";
                    }
                }
                if (_roll.data != null && (_roll.data.status != null && _roll.data.status.Equals("WIN")))
                {
                    if (((bool)radJackpot0.IsChecked && _roll.data.result.Equals(0)) || ((bool)radJackpot99.IsChecked && _roll.data.result.Equals(99.99)))
                    {
                        _jp += 1;
                        lblJackpot.Content = _jp;
                    }
                    _won += 1;
                    lblWin.Content = _won;
                    //lblStatus.Foreground = Brushes.Green;
                }
                else if (_roll.data != null && (_roll.data.status != null && _roll.data.status.Equals("LOSS")))
                {
                    _lose += 1;
                    lblLose.Content = _lose;
                    //lblStatus.Foreground = Brushes.Red;
                }
                else
                {
                   // lblStatus.Foreground = Brushes.Orange;
                }
            }
            else if (!_roll.error.Equals("Betting too fast. Slow down a bit?"))
            {
                //lblStatus.Content = $"Bet {e.ProgressPercentage + 1}: {_roll.error}. Retrying...";
                //lblStatus.Foreground = Brushes.Orange;
            }
            #endregion

        }
Example #2
0
        private void RollWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            UpdateLabels();
            #region Update Speed label
            var betsPerSecond = Math.Round((e.ProgressPercentage / (DateTime.Now - _initialDateTime).TotalSeconds), 2, MidpointRounding.AwayFromZero);
            lblSpeed.Content = $"{betsPerSecond} Bet{(betsPerSecond <= 1 ? string.Empty : "s")}/s";

            #endregion
            #region Datagrid
            if (_roll.status && _roll.data != null)
            {
                var data = new GenericDataGrid
                {
                    status = _roll.data.status,
                    amount = _roll.data.amount.ToString("0.00000000", CultureInfo.InvariantCulture),
                    payout = _roll.data.payout.ToString("0.00000000", CultureInfo.InvariantCulture),
                    profit = _roll.data.profit.ToString("0.00000000", CultureInfo.InvariantCulture),
                    result = _roll.data.result,
                    bet = _roll.data.bet,
                    chance = $"{_roll.data.chance}%",
                    id = _roll.data.id,
                    hour = DateTime.Now.ToString("HH:mm:ss", DateTimeFormatInfo.InvariantInfo)
                };
                if ((_ShowWons && _roll.data.status.Equals("WIN")) ||
                    (_ShowLosses && _roll.data.status.Equals("LOSS")))
                {
                    var selected = GridBets.SelectedIndex;
                    _datosRoll.Add(data);
                    GridBets.Items.Refresh();
                    GridBets.SelectedIndex = selected;
                }
            }
            #endregion
            #region AutoScroll
            if (_AutoScroll && GridBets.Items.Count > 0)
            {
                GridBets.ScrollIntoView(GridBets.Items[GridBets.Items.Count - 1]);
            }
            #endregion
            #region Status Update

            if (_roll.status && _roll.data != null)
            {
                LblStatus.Content = $"Bet {e.ProgressPercentage}: {_roll.data.status}";
                LblStatus.Foreground = _roll.data.status.Equals("WIN") ? Brushes.Green : Brushes.Red;
            }
            else if (!_roll.error.Equals("Betting too fast. Slow down a bit?"))
            {
                LblStatus.Content = $"Bet {e.ProgressPercentage + 1}: {_roll.error} [Retrying]";
                LblStatus.Foreground = Brushes.Orange;
            }
            #endregion
            #region Update selected item in Fibonacci
            if (_fibonacci)
            {
                lstFibonacci.SelectedIndex = FibonacciLevel;
            }
            #endregion
            #region Graph Update
            if (TabGraph.IsSelected && _roll.status)
            {
                _HasCleanedGraph = false;
                Profit.Points.Add(new DoublePoint { Data = e.ProgressPercentage, Value = _CurrentProfit });
                if (Profit.Points.Count > 100)
                {
                    Profit.Points.RemoveAt(0);
                }

                lblAverageProfit.Content =
                    $"Average Profit: {((_CurrentProfit / e.ProgressPercentage) * betsPerSecond * 600).ToString("0.00000000")} / 10 minutes";
            }
            else if (!_HasCleanedGraph)
            {
                RestartGraph();
                _HasCleanedGraph = true;
            }

            #endregion
        }