コード例 #1
0
        private static void WriteFile(IEnumerable <CommonStock> commonStocks, string fileName)
        {
            IStockProfileQuery stockProfileQuery = new StockProfileQuery();

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(fileName))
            {
                foreach (var stock in commonStocks)
                {
                    try
                    {
                        Console.WriteLine("StockId:" + stock.Id);
                        Task.Delay(1000).Wait();
                        var criteria = new SearchStockProfileCriteria()
                        {
                            StockId = stock.Id, Symbol = stock.Symbol
                        };
                        var info = stockProfileQuery.SearchStockProfile(criteria);

                        string index = $"{{ \"index\": {{ \"_index\": \"set_commonstockinfo\", \"_type\": \"commonstockinfo\", \"_id\": \"{info.Id}\"}} }}";
                        file.WriteLine(index);
                        //string result = JsonConvert.SerializeObject(info);
                        string indexData = $"{{ \"id\":{info.Id}, \"stockId\":{info.StockId},\"symbol\":\"{info.Symbol}\",\"address\":\"{info.Address}\",\"telephone\":\"{info.Telephone}\",\"fax\":\"{info.Fax}\",\"webSite\":\"{info.WebSite}\",\"market\":\"{info.Market}\",\"securityName\":\"{info.SecurityName}\",\"industry\":\"{info.Industry}\",\"sector\":\"{info.Sector}\",\"firstTradeDate\":\"{info.FirstTradeDate}\",\"parValue\":{info.ParValue},\"authorizedCapital\":{info.AuthorizedCapital},\"paidUpCapital\":{info.PaidUpCapital},\"listedShare\":{info.ListedShare},\"paidUpStock\":{info.PaidUpStock} }}";
                        file.WriteLine(indexData);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
        }
コード例 #2
0
        public void SearchStockProfileTest()
        {
            IStockProfileQuery query = new StockProfileQuery();
            var criteria             = new SearchStockProfileCriteria();

            criteria.Symbol  = "A";
            criteria.StockId = 1;

            var stockInfo = query.SearchStockProfile(criteria);

            string result = JsonConvert.SerializeObject(stockInfo);
        }
コード例 #3
0
        public CommonStockInfo SearchStockProfile(SearchStockProfileCriteria criteria)
        {
            CommonStockInfo info = new CommonStockInfo()
            {
                Id = criteria.StockId, Symbol = criteria.Symbol
            };
            var html = string.Format(htmlTarget, criteria.Symbol);

            HtmlWeb web = new HtmlWeb();

            var htmlDoc = web.Load(html);

            var rootDoc = GetRootNode(htmlDoc);

            if (rootDoc != null)
            {
                info.SecurityName      = SelectNode(rootDoc, xPathStrong, "Company Name");
                info.Address           = SelectNode(rootDoc, xPathStrong, "Address");
                info.Telephone         = SelectNode(rootDoc, xPathStrong, "Telephone");
                info.Fax               = SelectNode(rootDoc, xPathStrong, "Fax");
                info.WebSite           = SelectNode(rootDoc, xPathStrongA, "Website");
                info.Market            = SelectNode(rootDoc, xPathStrong, "Market");
                info.Industry          = SelectNode(rootDoc, xPathStrong, "Industry");
                info.Sector            = SelectNode(rootDoc, xPathStrong, "Sector");
                info.FirstTradeDate    = ConvertToDateTime(SelectNode(rootDoc, xPathStrong, "First Trade Date"), "dd MMM yyyy");
                info.ParValue          = ConvertToDecimal(SelectNode(rootDoc, xPathStrong, "Par Value"));
                info.AuthorizedCapital = ConvertToDecimal(SelectNode(rootDoc, xPathDiv, "Authorized Capital"));
                info.PaidUpCapital     = ConvertToDecimal(SelectNode(rootDoc, xPathDiv, "Paid-up Capital"));
                info.ListedShare       = ConvertToDecimal(SelectNode(rootDoc, xPathDiv, "Listed Share"));
                info.PaidUpStock       = ConvertToDecimal(SelectNode(rootDoc, xPathDiv, "Paid-up Stock"));
            }



            return(info);
        }