示例#1
0
        public ContentResult Get()
        {
            var query = Request.QueryString.Value;

            if (query.IndexOf("?") == 0)
            {
                query = query.Substring(1);
            }

            var db = Database.GetTimeSeriesDatabase();
            var w  = new WebTimeSeriesWriter(db, Reclamation.TimeSeries.TimeInterval.Irregular, query);
            var x  = w.Run(Response);

            return(Content(x, Response.ContentType));
        }
示例#2
0
        public string Post()
        {
            var sr   = new System.IO.StreamReader(Request.Body);
            var body = sr.ReadToEnd();

            sr.Close();

            if (body == "")
            {
                throw new Exception("no data posted");
            }
            var db = Database.GetTimeSeriesDatabase();
            var w  = new WebTimeSeriesWriter(db, Reclamation.TimeSeries.TimeInterval.Irregular, body);
            var x  = w.Run(Response);

            return(x);
        }
示例#3
0
        public ContentResult Post()
        {
            var sr   = new System.IO.StreamReader(Request.Body);
            var body = sr.ReadToEnd();

            sr.Close();

            if (body == "")
            {
                throw new Exception("no data posted");
            }
            var db = Database.GetTimeSeriesDatabase();
            var w  = new WebTimeSeriesWriter(db, Reclamation.TimeSeries.TimeInterval.Daily, body);
            var x  = w.Run(Response);

            return(Content(x, Response.ContentType));
        }
示例#4
0
        private static string RunTest(string payload, TimeInterval interval)
        {
            Performance         p  = new Performance();
            TimeSeriesDatabase  db = TimeSeriesDatabase.InitDatabase(new Arguments(new string[] { }));
            WebTimeSeriesWriter c  = new WebTimeSeriesWriter(db, interval, payload);
            var fn = FileUtility.GetTempFileName(".txt");

            c.Run(fn);

            if (File.Exists(fn))
            {
                p.Report(File.ReadAllLines(fn).Length + " lines read");
            }
            else
            {
                p.Report();
            }
            return(fn);
        }
示例#5
0
        public static void CompareLinuxToVMSCGI(string payload, TimeInterval interval = TimeInterval.Irregular)
        {
            //Program.Main(new string[] { "--cgi=instant", "--payload=?"+payload });

            TimeSeriesDatabase  db = TimeSeriesDatabase.InitDatabase(new Arguments(new string[] {}));
            WebTimeSeriesWriter c  = new WebTimeSeriesWriter(db, interval, payload);
            var fn = FileUtility.GetTempFileName(".txt");

            Console.WriteLine("linux temp file:" + fn);
            c.Run(fn);

            TextFile tf = new TextFile(fn);

            tf.DeleteLines(0, 1);

            var fnhyd0 = FileUtility.GetTempFileName(".txt");

            Console.WriteLine("vms temp file:" + fnhyd0);
            string url = "http://www.usbr.gov/pn-bin/webarccsv.pl?";

            if (interval == TimeInterval.Irregular || interval == TimeInterval.Hourly)
            {
                url = "http://www.usbr.gov/pn-bin/webdaycsv.pl?";
            }
            Web.GetFile(url + payload, fnhyd0);

            var tf2 = new TextFile(fnhyd0);

            if (!CompareHydrometData(tf, tf2))
            {
                // do detailed comparision.
                var diff = TextFile.Compare(tf, tf2);

                if (diff.Length > 0)
                {
                    for (int i = 0; i < tf.Length; i++)
                    {
                        Console.WriteLine(tf[i]);
                    }
                }
                Assert.IsTrue(diff.Length == 0);
            }
        }