public AccountSummaryViewModel(BetfairService service, BetfairAccount account, int refreshInterval)
 {
     this.service = service;
     this.account = account;
     this.refreshInterval = refreshInterval;
     SetupTimer();
     this.timer.Start();
 }
        public BetfairAccount GetBetfairAccount()
        {
            var result = this.client.GetAccountDetails();

            var fundsResult = this.client.GetAccountFunds();

            var account = new BetfairAccount()
            {
                Name = string.Format("{0} {1}", result.FirstName, result.LastName),
                Balance = fundsResult.AvailableToBetBalance
            };

            return account;
        }
 public LoggedOnMessage(BetfairAccount account)
 {
     this.Account = account;
 }
        private void TimerElapsed(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("Checking Balance");

            this.timer.Stop();

            var latestAccount = this.service.GetBetfairAccount();

            if (latestAccount.Balance != account.Balance)
            {
                this.account = latestAccount;
                Messenger.Default.Send<AccountBalanceChangedMessage>(new AccountBalanceChangedMessage(this.account.Balance));
                RaisePropertyChanged(() => Balance);

            }

            this.timer.Start();
        }