예제 #1
0
        public frmMainIbetSbo(IBcManageService service)
        {
            InitializeComponent();

            this.Text      = "BcWin - " + SelfInfo.Username;
            _manageService = service;

            Init();

            _serverCallback = new ServerCallback();
            _driver         = new IbetSboDriver();

            ConnectServerScan();
            objCheckScanDriver = new System.Threading.Timer(WaitCheckDriverCallbackScan, null, 0, 25000);

            for (int i = 0; i < ClientData.Tab; i++)
            {
                AddNewOnePairAccountTab(i, _driver);
            }

            dgvAccountSummary.DataSource = AccountSummaries;

            //System.Timers.Timer timer = new System.Timers.Timer(60000 * 45);
            //timer.Elapsed += ResetProcessor;
            //timer.Start();

            //System.Timers.Timer dtimer = new System.Timers.Timer(60000 * 60);
            //dtimer.Elapsed += ResetDriver;
            //dtimer.Start();
        }
예제 #2
0
        private void AddNewOnePairAccountTab(int code, IbetSboDriver d)
        {
            IbetSboManagement ibetSbo = new IbetSboManagement(code, d, _serverCallback);

            ibetSbo.Dock            = DockStyle.Fill;
            ibetSbo.MainIbetSboForm = this;

            //ibetSbo.BackColor = Color.White;
            //Add Processor Config Data
            ibetSbo.BindControlData();
            ibetSbo.OnAccountSatus += OnAccountSatus;

            ibetSbo.SboEngine.OnFakeRequest += EngineOnFakeRequest;
            ibetSbo.SboEngine.OnFakeRequest += EngineOnFakeRequest;

            TabPage myTabPage = new TabPage();

            myTabPage.Controls.Add(ibetSbo);
            myTabPage.Name = ibetSbo.ID.ToString();
            //myTabPage.Name = "Ibet_Sbo";
            myTabPage.Text = "Ibet-Sbo";
            tabMain.TabPages.Add(myTabPage);
            mapTabs[code] = ibetSbo.ID.ToString();

            IbetSboManagements.Add(ibetSbo);

            AccountSummaries.Add(new AccountSummary()
            {
                TabCode = code,
                TabName = "Tab " + (code + 1),
                Status  = Properties.Resources.StopStatus
            });
        }
예제 #3
0
 public IbetSboProcessor(IbetSboDriver driver, ServerCallback serverCallback)
 {
     AccountDic     = new Dictionary <Guid, AccountDTO>();
     StartFailCount = 0;
     //EngineContainer = new Dictionary<Guid, IEngine>();
     _driver        = driver;
     ServerCallback = serverCallback;
     //TransactionQueue = new ConcurrentQueue<List<TransactionDTO>>();
 }
예제 #4
0
        public IbetSboManagement(int code, IbetSboDriver driver, ServerCallback serverCallback)
        {
            if (ClientData.IpAddress != null && ClientData.IpAddress.Any())
            {
                Random r = new Random();
                IpReal = ClientData.IpAddress[r.Next(ClientData.IpAddress.Count)];
            }

            Code = code;
            //this.BackColor = Color.White;
            InitializeComponent();
            Init(driver, serverCallback);
            _driver = driver;
        }
예제 #5
0
        private void Init(IbetSboDriver driver, ServerCallback serverCallback)
        {
            if (!this.IsHandleCreated)
            {
                this.CreateHandle();
            }

            ID = Guid.NewGuid();
            SetDefaultStyle();
            Processor = new IbetSboProcessor(driver, serverCallback);
            //DataContainer.TransactionProcess.Add(Processor.TransactionQueue);
            IbetEngine = new IbetEngine();
            IbetEngine.RealIpAddress = IpReal;
            SboEngine = new SboEngine();
            SboEngine.RealIpAddress = IpReal;
            IbetEngine.TabCode      = Code;
            SboEngine.TabCode       = Code;

            cboIBetDomain.DataSource      = DataContainer.IbetServers;
            cboSboDomain.DataSource       = DataContainer.SboServers;
            dgvLeaguesSetting.DataSource  = DataContainer.LeaguesSettings;
            cboMarket.SelectedIndex       = 0;
            cboCompareValue.SelectedIndex = 0;
            cboMinOddDef.SelectedIndex    = 1;

            BindConvertStakeInfo();

            lblSboStatus.TextChanged  += OnStatusTextChanged;
            lblIbetStatus.TextChanged += OnStatusTextChanged;

            IbetEngine.OnLogOffEvent += OnLogOffEvent;
            SboEngine.OnLogOffEvent  += OnLogOffEvent;

            Processor.OnProcessStateChange     += ProcessorOnOnProcessStateChange;
            Processor.OnPingEvent              += ProcessorOnOnPingEvent;
            webIbetStatement.DocumentCompleted += OnIbetStatementDocumentCompleted;
            webSboStatement.DocumentCompleted  += OnSboStatementDocumentCompleted;

            timerCheck          = new System.Timers.Timer(60000 * 2);
            timerCheck.Elapsed += CheckInfoStatus;
        }