public Task <ProviderPackage> GetAsync(EventCaller caller, string inputContent) { return(Task.Run(() => { var htmlTree = new HtmlDocument(); htmlTree.LoadHtml(inputContent); var node = htmlTree.DocumentNode.QuerySelector(".b_anno"); return node != null ? new ProviderPackage(node.InnerText, caller, Priority) : ProviderPackage.ReturnNotAvailablePackage(); })); }
public static Task<bool> SendMessagePackageAsync(ProviderPackage package) { switch (package.Type) { case ContentType.TextOnly: return SendMessageTextOnlyAsync(package.Text, package.Caller.CallerId.ToString(), package.Caller.Id.ToString()); case ContentType.TextWithImage: return SendMessageWithImageAsync(package.Text, package.Caller.CallerId.ToString(), package.Caller.Id.ToString(), package.ImageStream); case ContentType.ImageOnly: return SendMessageWithImageAsync("", package.Caller.CallerId.ToString(), package.Caller.Id.ToString(), package.ImageStream); } throw new NotImplementedException(); }
public Task <ProviderPackage> GetAsync(EventCaller caller, string inputContent) { return(Task.Run(() => { var htmlTree = new HtmlDocument(); htmlTree.LoadHtml(inputContent); var node = htmlTree.DocumentNode.QuerySelector(".MSNJVData .b_imagePair"); if (node != null) { return new ProviderPackage(string.Format("{0}", node.InnerText), caller, Priority); } return ProviderPackage.ReturnNotAvailablePackage(); })); }
public static Task <bool> SendMessagePackageAsync(ProviderPackage package) { switch (package.Type) { case ContentType.TextOnly: return(SendMessageTextOnlyAsync(package.Text, package.Caller.CallerId.ToString(), package.Caller.Id.ToString())); case ContentType.TextWithImage: return(SendMessageWithImageAsync(package.Text, package.Caller.CallerId.ToString(), package.Caller.Id.ToString(), package.ImageStream)); case ContentType.ImageOnly: return(SendMessageWithImageAsync("", package.Caller.CallerId.ToString(), package.Caller.Id.ToString(), package.ImageStream)); } throw new NotImplementedException(); }
public Task <ProviderPackage> GetAsync(EventCaller caller, string inputContent) { return(Task.Run(() => { var htmlTree = new HtmlDocument(); htmlTree.LoadHtml(inputContent); var node = htmlTree.DocumentNode.QuerySelector(".b_anno"); var stockNode = htmlTree.DocumentNode.QuerySelector(".b_hPanel"); var trendMap = htmlTree.DocumentNode.QuerySelector("svg"); if (node != null && stockNode != null) { if (trendMap != null) { var w = trendMap.Attributes["width"]; var h = trendMap.Attributes["height"]; var trendMapContent = string.Format("<svg width=\"{0}\" height=\"{1}\">{2}</svg>", w.Value, h.Value, trendMap.InnerHtml); var trendMapXml = new XmlDocument(); trendMapXml.LoadXml(trendMapContent); var reader = new SvgReader(new StringReader(trendMapContent)); var graphic = reader.Graphic; var c = Platforms.Current.CreateImageCanvas( new NGraphics.Size(double.Parse(w.Value), double.Parse(h.Value)), scale: 1); graphic.Draw(c); var trendMapImageStream = new MemoryStream(); c.GetImage().SaveAsPng(trendMapImageStream); // Send Package return new ProviderPackage(string.Format("{0} : {1}", node.InnerText, stockNode.InnerText) , trendMapImageStream, caller, Priority); } return new ProviderPackage(string.Format("{0} : {1}", node.InnerText, stockNode.InnerText), caller, Priority); } return ProviderPackage.ReturnNotAvailablePackage(); })); }