// // GET: /balance/dosend //[HttpPost] public ActionResult DoSend(OnBalance.Models.BalanceItem[] items) { try { InfoFormat("Balance/DoSend [{0}] was called...", Request.HttpMethod); InfoFormat("Got {0} items to post to POS...", items == null ? -1 : items.Length); foreach (string key in Request.Form.AllKeys) { DebugFormat(" {0}: {1}", key, Request.Form[key]); } string callback = Request["callback"] as string; PostBalanceViewModel bal = new PostBalanceViewModel(); bal.Results = items; NameValueCollection nvc = new NameValueCollection(); nvc.Add("_token", bal._token); nvc.Add("Total", bal.Total.ToString()); for (int i = 0; i < bal.Total; i++) { nvc.Add(string.Format("Results[{0}][InternalCode]", i), bal.Results[i].InternalCode); nvc.Add(string.Format("Results[{0}][Name]", i), bal.Results[i].ProductName); nvc.Add(string.Format("Results[{0}][Price]", i), (bal.Results[i].Price * 100).ToString("#####")); nvc.Add(string.Format("Results[{0}][Details]['39']", i), "1"); nvc.Add(string.Format("Results[{0}][Details]['41']", i), "2"); } //WebClient wc = new WebClient(); //string posBalanceUrl = "http://gjsportland.com/test.php/lt/product/dobalance"; //byte[] ba = wc.UploadValues(posBalanceUrl, "POST", nvc); ////return Json(bal, JsonRequestBehavior.AllowGet); //Log.InfoFormat("Got response from POS: {0}", Encoding.ASCII.GetString(ba)); //return Content("Got: " + Encoding.ASCII.GetString(ba)); if (string.IsNullOrEmpty(callback)) { return(Json(new { Status = Status.Completed }, JsonRequestBehavior.AllowGet)); } return(Content(string.Format("{0}({{ \"Status\": \"{1}\" }})", callback, Status.Completed))); } catch (Exception ex) { Error("Error sending local changes to POS!", ex); throw ex; } }
// // GET: /balance/dosend //[HttpPost] public ActionResult DoSend(OnBalance.Models.BalanceItem[] items) { try { InfoFormat("Balance/DoSend [{0}] was called...", Request.HttpMethod); InfoFormat("Got {0} items to post to POS...", items == null ? -1 : items.Length); foreach(string key in Request.Form.AllKeys) { DebugFormat(" {0}: {1}", key, Request.Form[key]); } string callback = Request["callback"] as string; PostBalanceViewModel bal = new PostBalanceViewModel(); bal.Results = items; NameValueCollection nvc = new NameValueCollection(); nvc.Add("_token", bal._token); nvc.Add("Total", bal.Total.ToString()); for(int i = 0; i < bal.Total; i++) { nvc.Add(string.Format("Results[{0}][InternalCode]", i), bal.Results[i].InternalCode); nvc.Add(string.Format("Results[{0}][Name]", i), bal.Results[i].ProductName); nvc.Add(string.Format("Results[{0}][Price]", i), (bal.Results[i].Price * 100).ToString("#####")); nvc.Add(string.Format("Results[{0}][Details]['39']", i), "1"); nvc.Add(string.Format("Results[{0}][Details]['41']", i), "2"); } //WebClient wc = new WebClient(); //string posBalanceUrl = "http://gjsportland.com/test.php/lt/product/dobalance"; //byte[] ba = wc.UploadValues(posBalanceUrl, "POST", nvc); ////return Json(bal, JsonRequestBehavior.AllowGet); //Log.InfoFormat("Got response from POS: {0}", Encoding.ASCII.GetString(ba)); //return Content("Got: " + Encoding.ASCII.GetString(ba)); if(string.IsNullOrEmpty(callback)) { return Json(new { Status = Status.Completed }, JsonRequestBehavior.AllowGet); } return Content(string.Format("{0}({{ \"Status\": \"{1}\" }})", callback, Status.Completed)); } catch(Exception ex) { Error("Error sending local changes to POS!", ex); throw ex; } }