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"))); } }
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); } }
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 }); }