public async Task <StockChartModel> GetRealTimeTradeChartAsync(StockInfoItem stockItem) { TwseStockClient client = new TwseStockClient(); var resutl = await client.QueryRealTimeTradeChartAsync(stockItem.Convert()); return(resutl); }
public async Task <RealTimeStockItem> GetRealTimeStockAsync(StockInfoItem stockItem) { GoogleStockClient client = new GoogleStockClient(); RealTimeStockModel stockData = await client.QueryStockAsync(stockItem.Id); return(RealTimeStockItem.ConvertFrom(stockData)); }
public async Task LoadChart() { var stockInfo = new StockInfoItem { Id = StockValueContext.Id, MarketType = StockValueContext.ExchangeTypeKey, Name = StockValueContext.Name }; StockChartModel chartModel = await _queryService.GetRealTimeTradeChartAsync(stockInfo); // Set the start and end value to y axis SetOpenCloseTimeToCharAxis(chartModel); // Set the top and bottom value for the chart SetUpDownLimitLineToChart(chartModel.StockMessage); // Draw the middle, up and down extra line for the chart DrawExtraLines(chartModel.StockMessage); // 設定股價座標顯示的區間次數 SetPriceTickInterval(Convert.ToDouble(chartModel.StockMessage.LimitUp), Convert.ToDouble(chartModel.StockMessage.LimitDown), 5); // Add stock point to chart foreach (var point in chartModel.ChartData) { DateTime xDateTime = DateTimeUtils.UnixTimeStampToDateTime(Convert.ToDouble(point.Timestemp)); var axisPoint = DateTimeAxis.CreateDataPoint(xDateTime, Convert.ToDouble(point.Value)); ChartDataCollection.Add(axisPoint); } }
public static StockInfoModel Convert(this StockInfoItem stockItem) { return(new StockInfoModel { Id = stockItem.Id, Category = stockItem.Category, MarketType = stockItem.MarketType, Name = stockItem.Name }); }
public void Add(StockInfoItem item) { var stockEntity = new StockEntity { Id = item.Id, Name = item.Name, MarketType = item.MarketType, Category = item.Category }; using (StockUnitOfWork db = new StockUnitOfWork()) { db.Stock.Add(stockEntity); db.SaveChanges(); } }
public void Add(StockInfoItem item) { using (StockUnitOfWork db = new StockUnitOfWork()) { // check if the stock is exist in favorite table if (db.FavoriteStock.GetById(item.Id) != null) { throw new FavoriteStockExistException(item.Id, item.Name); } StockEntity stockEntity = db.Stock.GetById(item.Id); var favoriteStockEntity = new FavoriteStockEntity { Id = item.Id, ParentStock = stockEntity, // TODO : it must rewrite the category source from category table //CustomCategory = item.Category, Order = item.Order }; db.FavoriteStock.Add(favoriteStockEntity); db.SaveChanges(); } }