private ProcessorConfigInfoDTO ProcessBindData() { eBetStakeType betStakeType = eBetStakeType.Unknow; if (rdoMax.Checked) { betStakeType = eBetStakeType.Max; } if (rdoSbobet.Checked) { betStakeType = eBetStakeType.Sbo; } if (rdoIbet.Checked) { betStakeType = eBetStakeType.Ibet; } return(new ProcessorConfigInfoDTO() { BetStakeType = betStakeType, BetStake = Convert.ToInt16(txtBetStake.Text.Trim()), TimeOffStakeOdds = (int)numericTimeOffStakeOdds.Value, CompareValue = Convert.ToDouble(cboCompareValue.Text), MaxCountBet = (int)numericMaxCountBet.Value, RebetSbo = (int)numericRebetSbo.Value, AccountFirst = IbetBindData(), AccountSecond = SbobetBindData() //IPAddress = txtIpAddress.Text.Trim(), //HostName = txtDomain.Text.Trim(), //IbetAccount = IbetBindData(), //SbobetAccount = SbobetBindData(), //IsMaxStake = rdoMax.Checked, //Todo... }); }
private ProcessorConfigInfoDTO ProcessBindData() { eBetStakeType betStakeType = eBetStakeType.Unknow; if (rdoMax.Checked) { betStakeType = eBetStakeType.Max; } if (rdoSbobet.Checked) { betStakeType = eBetStakeType.Sbo; } if (rdoIbet.Checked) { betStakeType = eBetStakeType.Ibet; } return(new ProcessorConfigInfoDTO() { //TokenGUI = Guid.NewGuid(), Code = this.Code, Market = cboMarket.SelectedItem.ToString(), AccountFirst = IbetBindData(), AccountSecond = SbobetBindData(), BetStakeType = betStakeType, //BetStake = Convert.ToInt16(txtBetStake.Text.Trim()), BetStake = txtBetStake.Text.Trim(), TimeOffStakeOdds = (int)numericTimeOffStakeOdds.Value, CompareValue = Convert.ToDouble(cboCompareValue.Text), MaxCountBet = (int)numericMaxCountBet.Value, RebetSbo = (int)numericRebetSbo.Value, MinOddDefBet = Convert.ToSingle(cboMinOddDef.Text), MinTimeToBet = (int)numMinTimeToBet.Value, RebetIbet = ckReBetIbet.Checked, WaitingTimeRebetIbet = (int)numTimeWaitToRebetIbet.Value }); }
private bool CaculateStake(eBetStakeType betStakeType, string ibetMatchId, int ibetMin, int ibetMax, string sboMatchId, int sboMin, int sboMax, out int ibetStake, out int sboStake) { bool isSuccess = false; switch (betStakeType) { case eBetStakeType.Ibet: ibetStake = BetStake; sboStake = (int)Math.Round((double)((ibetStake * SboRateExchange) / IbetRateExchange), 0); if (ibetStake >= ibetMin && ibetStake <= ibetMax && sboStake >= sboMin && sboStake <= sboMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; } break; case eBetStakeType.Sbo: sboStake = BetStake; ibetStake = (int)Math.Round((double)((sboStake * IbetRateExchange) / SboRateExchange), 0); if (ibetStake >= ibetMin && ibetStake <= ibetMax && sboStake >= sboMin && sboStake <= sboMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; } break; case eBetStakeType.Max: ibetStake = ibetMax; sboStake = (int)Math.Round((double)((ibetStake * SboRateExchange) / IbetRateExchange), 0); if (sboStake <= sboMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; break; } sboStake = sboMax; ibetStake = (int)Math.Round((double)((sboStake * IbetRateExchange) / SboRateExchange), 0); if (ibetStake <= ibetMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; //break; } break; default: throw new Exception("Not support eBetStakeType"); } if (isSuccess) { var isIbetMax = IsMaxStake(ibetMatchId, IbetBetPool, IbetMaxStakeMatch, true, ibetStake); var isSboMax = IsMaxStake(sboMatchId, SboBetPool, SboMaxStakeMatch, true, sboStake); if ((isSboMax || isIbetMax) && ibetStake > IbetEngine.AvailabeCredit && sboStake > SboEngine.AvailabeCredit) { return(false); } } return(isSuccess); }
private bool CaculateStake(eBetStakeType betStakeType, string ibetMatchId, int ibetMin, int ibetMax, string sboMatchId, int sboMin, Task <int> taskMaxBet, out int ibetStake, out int sboStake) { bool isSuccess = false; int isnMax = taskMaxBet.Result; if (isnMax == 0) { ibetStake = 0; sboStake = 0; return(false); } Random r = new Random(); switch (betStakeType) { case eBetStakeType.Ibet: ibetStake = BetStake[r.Next(BetStake.Count)]; sboStake = (int)Math.Round((double)((ibetStake * IbetRateExchange) / SboRateExchange), 0); if (ibetStake >= ibetMin && ibetStake <= ibetMax && sboStake >= sboMin && sboStake <= isnMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; break; } goto case eBetStakeType.Max; case eBetStakeType.Sbo: sboStake = BetStake[r.Next(BetStake.Count)]; ibetStake = (int)Math.Round((double)((sboStake * SboRateExchange) / IbetRateExchange), 0); if (ibetStake >= ibetMin && ibetStake <= ibetMax && sboStake >= sboMin && sboStake <= isnMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; break; } goto case eBetStakeType.Max; case eBetStakeType.Max: ibetStake = ibetMax; sboStake = (int)Math.Round((double)((ibetStake * IbetRateExchange) / SboRateExchange), 0); if (sboStake <= isnMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; break; } sboStake = isnMax; ibetStake = (int)Math.Round((double)((sboStake * SboRateExchange) / IbetRateExchange), 0); if (ibetStake <= ibetMax && ibetStake != 0 && sboStake != 0) { isSuccess = true; } break; default: throw new Exception("Not support eBetStakeType"); } if (isSuccess) { var isIbetMax = IsMaxStake(ibetMatchId, PiBetPool, IbetMaxStakeMatch, ibetStake); var isSboMax = IsMaxStake(sboMatchId, IsnBetPool, SboMaxStakeMatch, sboStake); if (isSboMax || isIbetMax || ibetStake > PiEngine.AvailabeCredit || sboStake > IsnEngine.AvailabeCredit) { return(false); } } return(isSuccess); }