Пример #1
0
        public async Task <PartialViewResult> AccountSummaryTipBotPartialView()
        {
            try
            {
                var address = GetCurrentUserAsync().Address;
                ViewBag.userpic = GetCurrentUserAsync().Photo_Url;

                var tipAccountSummaryViewModel = new AccountSummaryViewModel
                {
                    coinQuoteCol           = CoinQuoteResult.Current,
                    coinbaseBtcQuoteResult = CoinbaseBtcQuote.Current,
                    transactionsResult     = TransactionsResult.Current,
                    delegateResult         = DelegateResult.Current,
                    walletAccountResult    = await WalletAccountFetcher.FetchRiseWalletAccount(address),
                    coinReceivedByAccount  = await TransactionsFetcher.FetchTransactions(address),
                    coinSentByAccount      = await TransactionsFetcher.FetchOutgoingTransactions(address)
                };

                return(PartialView("_AccountSummaryTipBotPartial", tipAccountSummaryViewModel));
            }
            catch (Exception ex)
            {
                var log = new Log();
                log.LogMessage(ex.Message + " " + ex.StackTrace + " " + ex.InnerException);
                _appdb.Logger.Add(log);
                _appdb.SaveChangesAsync().Wait();
                return(null);
            }
        }
Пример #2
0
        public async Task <PartialViewResult> AccountPartialViewAsync(string address = "")
        {
            try
            {
                var accountSummaryViewModel = new AccountSummaryViewModel
                {
                    coinbaseBtcQuoteResult = CoinbaseBtcQuote.Current,
                    transactionsResult     = TransactionsResult.Current,
                    delegateResult         = DelegateResult.Current,
                    walletAccountResult    = await WalletAccountFetcher.FetchRiseWalletAccount(address),
                    delegateVotesResult    = await DelegateVotesFetcher.FetchRiseDelegateVotes(address),
                    coinReceivedByAccount  = await TransactionsFetcher.FetchTransactions(address)
                };

                return(PartialView("_AccountPartial", accountSummaryViewModel));
            }
            catch (Exception ex)
            {
                var log = new Log();
                log.LogMessage(ex.Message + " " + ex.StackTrace + " " + ex.InnerException);
                _appdb.Logger.Add(log);
                _appdb.SaveChangesAsync().Wait();
                return(null);
            }
        }
Пример #3
0
        public async Task <PartialViewResult> AccountSummaryAsync(string address)
        {
            AccountSummaryViewModel accountSummaryViewModel;

            try
            {
                if (address != null)
                {
                    var delegate_account = DelegateResult.Current.Delegates.Where(x => x.Username.Contains(address.ToLower()) || x.Address == address).OrderBy(j => j.Username.Length).FirstOrDefault();

                    if (delegate_account != null)
                    {
                        address = delegate_account.Address;
                        accountSummaryViewModel = new AccountSummaryViewModel
                        {
                            coinQuoteCol           = CoinQuoteResult.Current,
                            coinbaseBtcQuoteResult = CoinbaseBtcQuote.Current,
                            transactionsResult     = TransactionsResult.Current,
                            delegateResult         = DelegateResult.Current,
                            walletAccountResult    = await WalletAccountFetcher.FetchRiseWalletAccount(address),
                            delegateVotesResult    = await DelegateVotesFetcher.FetchRiseDelegateVotes(address),
                            forgedByAccount        = await ForgedByAccountFetcher.FetchForgedByAccount(delegate_account.PublicKey),
                            coinReceivedByAccount  = await TransactionsFetcher.FetchTransactions(address),
                            coinSentByAccount      = await TransactionsFetcher.FetchOutgoingTransactions(address)
                        };
                    }
                    else
                    {
                        accountSummaryViewModel = new AccountSummaryViewModel
                        {
                            coinQuoteCol           = CoinQuoteResult.Current,
                            coinbaseBtcQuoteResult = CoinbaseBtcQuote.Current,
                            transactionsResult     = TransactionsResult.Current,
                            delegateResult         = DelegateResult.Current,
                            walletAccountResult    = await WalletAccountFetcher.FetchRiseWalletAccount(address),
                            coinReceivedByAccount  = await TransactionsFetcher.FetchTransactions(address),
                            coinSentByAccount      = await TransactionsFetcher.FetchOutgoingTransactions(address)
                        };
                    }

                    if (accountSummaryViewModel.walletAccountResult == null)
                    {
                        return(null);
                    }
                    else
                    {
                        return(PartialView("_AccountSummaryPartial", accountSummaryViewModel));
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error:" + e.InnerException);
            }

            return(null);
        }
Пример #4
0
        /// <summary>
        /// The ExecuteAsync
        /// </summary>
        /// <param name="cancellationToken">The cancellationToken<see cref="CancellationToken"/></param>
        /// <returns>The <see cref="Task"/></returns>
        public async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            try
            {
                using (var scope = _scopeFactory.CreateScope())
                {
                    var dbContext = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>();

                    var UsersLst = dbContext.ApplicationUsers.ToList <ApplicationUser>();
                    TipAccountStats.UsersCount = UsersLst.Count();

                    // List all account address
                    TipAccountStats.AddressLst = dbContext.ApplicationUsers.Select(x => x.Address).ToList();

                    // Reset the balance
                    double TotalBalance            = 0;
                    int    TotalTransactions       = 0;
                    long   TotalAmountTransactions = 0;

                    foreach (var account in UsersLst)
                    {
                        if (account.Address != null)
                        {
                            RiseManager rm = new RiseManager();

                            TotalBalance += await rm.AccountBalanceAsync(account.Address);

                            var tx = TransactionsFetcher.FetchAllUserTransactions(account.Address).Result.transactions.ToList();
                            TotalTransactions       += tx.Count();
                            TotalAmountTransactions += tx.Sum(x => x.amount / 100000000);

                            if (tx == null && account.UserName == null)
                            {
                                dbContext.Users.Remove(account);
                                dbContext.SaveChanges();
                            }
                        }
                    }

                    TipAccountStats.TotalBalance            = TotalBalance;
                    TipAccountStats.TotalTransactions       = TotalTransactions;
                    TipAccountStats.TotalAmountTransactions = TotalAmountTransactions;
                    TipAccountStats.LastGenerated           = DateTime.Now;
                }
            }
            catch (Exception e)
            {
                Console.Write(e.InnerException);
            }
        }
Пример #5
0
        public async Task <PartialViewResult> DelegatePaymentsChartAsync(string address, int minutes)
        {
            var mydelegate = DelegateResult.Current.Delegates.Where(x => x.Address == address).FirstOrDefault();

            var quoteInfoViewModel = new DelegateStatsViewModel
            {
                DelegateResult     = DelegateResult.Current,
                TransactionsResult = await TransactionsFetcher.FetchOutgoingTransactions(address)
            };

            // Show Payments from cuurentTime - minutes
            ViewBag.Minutes = minutes;
            return(PartialView("_DelegatePaymentsChartPartial", quoteInfoViewModel));
        }
Пример #6
0
        public async Task <PartialViewResult> PaymentsTableAsync(string address)
        {
            var accountSummaryViewModel = new AccountSummaryViewModel
            {
                coinbaseBtcQuoteResult = CoinbaseBtcQuote.Current,
                transactionsResult     = TransactionsResult.Current,
                delegateResult         = DelegateResult.Current,
                walletAccountResult    = await WalletAccountFetcher.FetchRiseWalletAccount(address),
                delegateVotesResult    = await DelegateVotesFetcher.FetchRiseDelegateVotes(address),
                coinReceivedByAccount  = await TransactionsFetcher.FetchTransactions(address)
            };

            return(PartialView("_PaymentsTablePartial", accountSummaryViewModel));
        }
Пример #7
0
        public async Task <PartialViewResult> PaymentsChartAsync(string address, int minutes)
        {
            var accountSummaryViewModel = new AccountSummaryViewModel
            {
                coinbaseBtcQuoteResult = CoinbaseBtcQuote.Current,
                transactionsResult     = TransactionsResult.Current,
                delegateResult         = DelegateResult.Current,
                walletAccountResult    = await WalletAccountFetcher.FetchRiseWalletAccount(address),
                delegateVotesResult    = await DelegateVotesFetcher.FetchRiseDelegateVotes(address),
                coinReceivedByAccount  = await TransactionsFetcher.FetchTransactions(address)
            };

            // Show Payments from currentTime - minutes
            ViewBag.Minutes = minutes;
            return(PartialView("_PaymentsChartPartial", accountSummaryViewModel));
        }
Пример #8
0
        public async Task <PartialViewResult> TransactionsTablePartialViewAsync(string address = "")
        {
            try
            {
                TransactionsViewModel transactionsViewModel = new TransactionsViewModel
                {
                    coinQuoteCol           = CoinQuoteResult.Current,
                    CoinbaseBtcQuoteResult = CoinbaseBtcQuote.Current,
                    DelegateResult         = DelegateResult.Current
                };

                if (address?.Length == 0)
                {
                    transactionsViewModel.TransactionsResult = TransactionsResult.Current;
                }
                else
                {
                    var account = DelegateResult.Current.Delegates.Where(x => x.Username.Contains(address.ToLower()) || x.Address == address).OrderBy(j => j.Username.Length).FirstOrDefault();

                    if (account != null)
                    {
                        transactionsViewModel.TransactionsResult = await TransactionsFetcher.FetchAllUserTransactions(account.Address);
                    }
                    else
                    {
                        transactionsViewModel.TransactionsResult = await TransactionsFetcher.FetchAllUserTransactions(address);
                    }
                }

                return(PartialView("_TransactionsTablePartial", transactionsViewModel));
            }
            catch (Exception ex)
            {
                var log = new Log();
                log.LogMessage(ex.Message + " " + ex.StackTrace + " " + ex.InnerException);
                _appdb.Logger.Add(log);
                _appdb.SaveChangesAsync().Wait();
                return(null);
            }
        }
Пример #9
0
        /// <summary>
        /// The ExecuteAsync
        /// </summary>
        /// <param name="cancellationToken">The cancellationToken<see cref="CancellationToken"/></param>
        /// <returns>The <see cref="Task"/></returns>
        public async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            var XtcomQuoteResult = await XtcomQuoteFetcher.FetchXtcomQuote();

            if (XtcomQuoteResult != null)
            {
                XtcomQuote.Current = XtcomQuoteResult;
            }

            var coinbaseBtcQuoteResult = await CoinbaseBtcFetcher.FetchCoinbaseBtcQuote();

            if (coinbaseBtcQuoteResult != null)
            {
                CoinbaseBtcQuote.Current = coinbaseBtcQuoteResult;
            }

            var transactionsResult = await TransactionsFetcher.FetchTransactions();

            if (transactionsResult.success)
            {
                TransactionsResult.Current = transactionsResult;
            }
        }