Beispiel #1
0
        private EndpointCollection CreateEndpointWithParam(JSONParam jsonParam)
        {
            dc.AddFile("endpoint/endpoint.json", JsonConvert.SerializeObject(DataUtils.CreateScriptEndpoint("endpoint", "script.csscript")));
            dc.AddFile("endpoint/script.csscript", "return GetParam(\"greeting\") + \" \" + GetParam(\"subject\");");
            dc.AddFile("endpoint/params.json", JsonConvert.SerializeObject(new[] {
                jsonParam
            }));

            return(EndpointCollectionReader.ReadFromDirectory(dc.DirectoryName));
        }
        // url - US date
        // .htm - UK format
        public List<string> GenerateLinks(JSONLinks jsl, int startyear, int ftsymbol, int interval)
        {
            string url1 = "http://markets.ft.com/RESEARCH/Remote/UK/InteractiveChart/DrawInteractiveChart?";
            DateTime dstart;
            DateTime dend;
            DateTime now = DateTime.Now;

            if (startyear == 1) // check
            {
                Console.WriteLine("No date data: " + ftsymbol);
                return null;
            }

            dstart = new DateTime(startyear, 1, 1);
            dend = new DateTime(dstart.Year + interval, 1, 1);
            if (dend.Year >= now.Year)
            {
                dend = new DateTime(now.Year, 12, 31);
            }

            int counter = 0;
            List<string> urls = new List<string>();

            // http://markets.ft.com/research/InteractiveChart?symbol=205778&options={"StartDate":"01/15/2008","EndDate":"06/24/2013","LowerIndicator":[{"Args":[{"Type":0,"Value":14}],"Code":21,"UID":696010770}],"UpperIndicator":[],"Overlay":[2,1,0],"ChartStyle":3,"ChartScale":1,"CursorStyle":1,"Interval":6,"Duration":10,"Comparison":[],"PortfolioName":null,"Width":950,"Height":400,"ActiveTool":null}
            // date format is US, even though in interactive format is UK
            for (; ; )
            {
                string url2 = @"symbol=zzz&options={""StartDate"":""xxx"",""EndDate"":""yyy"",""LowerIndicator"":[],""UpperIndicator"":[],""Overlay"":[0,1,2],""ChartStyle"":3,""ChartScale"":1,""CursorStyle"":1,""Interval"":6,""Duration"":9,""Comparison"":[],""PortfolioName"":null,""Width"":950,""Height"":400,""ActiveTool"":null}";
                url2 = url2.Replace("xxx", dstart.ToShortDateString());
                url2 = url2.Replace("yyy", dend.ToShortDateString());
                url2 = url2.Replace("zzz", ftsymbol.ToString());
                string finalurl = url1 + url2;

                urls.Add(finalurl);

                JSONParam p = new JSONParam();
                p.startdate = dstart;
                p.enddate = dend;
                p.url = finalurl;
                jsl.m_jsonparam.Add(p);

                dstart = dend;
                if (dstart.Year == now.Year &&
                    dstart.Month == 12 &&
                    dstart.Day == 31)
                    break;
                else
                {
                    dend = new DateTime(dstart.Year + interval, 1, 1);
                    if (dend.Year >= now.Year)
                    {
                        dend = new DateTime(now.Year, 12, 31);
                    }
                }
                counter++;
            }
            return urls;
        }