Esempio n. 1
0
        public void SetBodyData(object binanceVM)
        {
            this.binanceModel = binanceVM as BinanceVM;

            if (binanceModel != null)
            {
                DataDictionary.Add("symbol_value", binanceModel.SymbolsValues.Where(x => x.ConvertedPrice > 10));
                DataDictionary.Add("total_value", binanceModel.TotalValue.ToString("C2", CultureInfo.CreateSpecificCulture("en-US")));
            }
        }
Esempio n. 2
0
        public BinanceVM GetSymbolValuesForAccount()
        {
            try
            {
                var binanceVM = new BinanceVM();

                var accountInfo = _binanceClient.AccountInfo();
                if (accountInfo.Status == OutcomeStatus.Failed)
                {
                    foreach (var notification in accountInfo.Notifications)
                    {
                        _log.Error($"[Severity: {notification.Severity}] Message: {notification.Message}");
                    }

                    binanceVM.Status = BinanceStatus.Error;
                    return(binanceVM);
                }

                var info = accountInfo.ResponseDto;
                info.Balances = info.Balances.Where(x => x.Free > 0);

                foreach (var balance in info.Balances)
                {
                    var avgPrice = _binanceClient.GetAveragePrice(balance.Asset + "USDT");
                    binanceVM.SymbolsValues.Add(new BinanceSymbolValueVM()
                    {
                        Symbol      = balance.Asset,
                        Amount      = balance.Free,
                        AvgUsdPrice = avgPrice.Price
                    });
                }

                //TODO: Split this and add saving of series in separate method and separate job
                AddSeries(binanceVM);

                binanceVM.SymbolsValues = binanceVM.SymbolsValues.OrderByDescending(x => x.ConvertedPrice).ToList();
                binanceVM.Status        = BinanceStatus.OK;

                return(binanceVM);
            }
            catch (Exception e)
            {
                _log.Error("Unknown error occured while fetching Binance data", e);
                return(BinanceVM.Empty);
            }
        }
Esempio n. 3
0
        private void AddSeries(BinanceVM binanceVM)
        {
            var seriesList = new List <Series>();

            seriesList.AddRange(binanceVM.SymbolsValues.Select(x => new Series()
            {
                Ammount  = x.Amount,
                AvgPrice = x.AvgUsdPrice,
                Currency = x.Symbol
            }));

            binanceRepository.SaveSeriesParent(new SeriesParent()
            {
                FetchedDate = DateTime.Now,
                Total       = binanceVM.TotalValue,
                Series      = seriesList
            });
        }