예제 #1
0
        public static void sendTodayReport()
        {
            // TODO: call LocalDBInterface.getProductSoldToday()
            // parse Product id + number of stock sold today
            // convert to JSON string
            // make a post request, data: "content=" + jsonstring
            List<Product> todayReport = LocalDBInterface.getProductSoldToday();
            List<productDataToSend> finalReport = new List<productDataToSend>();
            for (int i = 0; i < todayReport.Count; i++)
            {
                finalReport.Add(new productDataToSend{itemId=todayReport.ElementAt(i).getBarcode(),num=todayReport.ElementAt(i).getNumberSoldToday()});
            }
            if (todayReport.Count == 0) return;
            dataSender dataSend = new dataSender();
            dataSend.storeId = "46912";
            dataSend.data = finalReport;
            dataSend.time = DateTime.Now.ToString();
            System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            //string sJSON = oSerializer.Serialize(finalReport);
            string sJSON = oSerializer.Serialize(dataSend);

            PostSubmitter postReq = new PostSubmitter();
            postReq.Url = HQ_updateURL;
            postReq.PostItems.Add("", sJSON);
            try
            {
                string result = postReq.Post();
            }
            catch { };
            // update again

            //HTTPGet req = new HTTPGet();
            //string reqString = HQ_updateURL + "?id=11001&from=0&to=100";
            //req.Request(reqString);
            //Console.WriteLine(req.StatusLine);
            //Console.WriteLine(req.ResponseTime);

            //LocalDBInterface.reset();
            HTTPGet req = new HTTPGet();
            List<Product> listP = new List<Product>();
            string syncURL = "http://cegmarket.appspot.com/store/update?id=46912&";
            int start = 0, end = 10000;

            while (true)
            {
                string fromString = "from=";
                string toString = "to=";
                fromString = fromString + start.ToString() + "&";
                toString = toString + end.ToString();
                req.Request(syncURL+fromString+toString);
                if (req.StatusCode == 204) break;
                start = end;
                end = end + 10000;
                Console.WriteLine(req.StatusLine);
                Console.WriteLine(req.ResponseTime);
                //Json.JsonArray data = JsonParser.Deserialize(req.ResponseBody);
                //System.Collections.IEnumerator ite = data.GetEnumerator();
                string jsonString = req.ResponseBody;
                jsonString = jsonString.Replace("id", "barcode");
                jsonString = jsonString.Replace("brand", "manufacturer");
                jsonString = jsonString.Replace("transistNum", "number_in_stock");
                jsonString = jsonString.Replace("transistPrice", "price");

                dynamic deserializedProduct = (List<Product>)JsonConvert.DeserializeObject<List<Product>>(jsonString);
                listP.AddRange(deserializedProduct);
            }
            LocalDBInterface.addListProduct(listP);

            /* HTTPPost example
            PostSubmitter post = new PostSubmitter();
            //post.Url = "http://ec2-50-17-68-237.compute-1.amazonaws.com/2102/post/14";
            post.Url = "http://3B.cegmarket.appspot.com/store/update?id=11001&from=&to";
            post.PostItems.Add("content", sJSON);
            //post.PostItems.Add("rel_code", "1102");
            //post.PostItems.Add("FREE_TEXT", "c# jobs");
            //post.PostItems.Add("SEARCH", "");
            post.Type = PostSubmitter.PostTypeEnum.Post;

            string result = post.Post();
            */

            // TODO:
        }
예제 #2
0
        public static void sync()
        {
            // reset local DB
            LocalDBInterface.reset();
            HTTPGet req = new HTTPGet();
            List<Product> listP = new List<Product>();
            string syncURL = "http://cegmarket.appspot.com/store/sync?id=46912&";
            int start = 0, end = 10000;

            while (true)
            {
                string fromString = "from=";
                string toString = "to=";
                fromString = fromString + start.ToString() + "&";
                toString = toString + end.ToString();
                req.Request(syncURL+fromString+toString);
                if (req.StatusCode == 204) break;
                start = end;
                end = end + 10000;
                Console.WriteLine(req.StatusLine);
                Console.WriteLine(req.ResponseTime);
                //Json.JsonArray data = JsonParser.Deserialize(req.ResponseBody);
                //System.Collections.IEnumerator ite = data.GetEnumerator();
                string jsonString = req.ResponseBody;
                jsonString = jsonString.Replace("id", "barcode");
                jsonString = jsonString.Replace("brand", "manufacturer");
                jsonString = jsonString.Replace("transistNum", "number_in_stock");
                jsonString = jsonString.Replace("transistPrice", "price");

                dynamic deserializedProduct = (List<Product>)JsonConvert.DeserializeObject<List<Product>>(jsonString);
                listP.AddRange(deserializedProduct);
            }
            LocalDBInterface.addListProduct(listP);
        }