예제 #1
0
 public RawDataRequest(RawDataRequest priorRequest, DateTime endDate)
 {
     startDate    = priorRequest.endDate;
     this.endDate = endDate;
     format       = priorRequest.format;
     dataset      = priorRequest.dataset;
 }
예제 #2
0
        public RawDataReport CreateJob(string type, DateTime startDate, DateTime endDate)
        {
            var request = new RawDataRequest(type, startDate, endDate);
            var report  = SubmitRequest(request);

            return(report);
        }
예제 #3
0
        public RawDataReport(Dictionary <string, object> dict)
        {
            id        = (string)dict["id"];
            upid      = (string)dict["upid"];
            status    = (string)dict["status"];
            createdAt = DateTime.Parse((string)dict["createdAt"]);
            duration  = Convert.ToInt32(dict["duration"]);

            request = new RawDataRequest(dict["request"] as Dictionary <string, object>);
            result  = (dict.ContainsKey("result") && dict["result"] != null) ? new RawDataResult(dict["result"] as Dictionary <string, object>) : null;
        }
예제 #4
0
        private RawDataReport SubmitRequest(RawDataRequest request)
        {
            RawDataReport report = null;

            using (WebClient client = new WebClient())
            {
                client.Encoding = System.Text.Encoding.UTF8;
                Authorization(client);
                string url   = string.Format(CreateJobPath, m_AppId);
                string start = request.startDate.ToString("yyyy-MM-dd");
                string end   = request.endDate.ToString("yyyy-MM-dd");
                string data  = "\"startDate\":\"{0}\",\"endDate\":\"{1}\",\"format\":\"{2}\",\"dataset\":\"{3}\"";
                data = "{" + string.Format(data, start, end, "tsv", request.dataset) + "}";
                string result = client.UploadString(new Uri(url), "POST", data);
                var    dict   = MiniJSON.Json.Deserialize(result) as Dictionary <string, object>;
                report = new RawDataReport(dict);
            }

            return(report);
        }
예제 #5
0
 public RawDataReport(RawDataRequest request)
 {
     this.request = request;
 }