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 }
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 }