Exemplo n.º 1
0
 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();
     }));
 }
Exemplo n.º 2
0
 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();
 }
Exemplo n.º 3
0
 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();
     }));
 }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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();
            }));
        }