public ActionResult Create() { string expect = Request.Form["expect"]; int lid = int.Parse(Request.Form["lid"]); Tcp_Clscript tcp = new Tcp_Clscript(); if (!tcp.SelectByPK(lid)) { return(FailResult("获取策略脚本失败!")); } CPQaunt.Facade.BuilderScriptFacade builder = new CPQaunt.Facade.BuilderScriptFacade(); MessageScriptModel message = builder.Builder(expect, tcp.Content); //得到下注数字集合 if (message.type == MessageType.Log) { return(FailResult(message.message)); } StringBuilder stringBuilder = new StringBuilder(); foreach (var item in message.numbers) { string str = item.N1.ToString() + item.N2.ToString() + item.N3.ToString() + item.N4.ToString() + item.N5.ToString() + ","; stringBuilder.AppendLine(str); } return(SuccessResult(stringBuilder.ToString())); }
public ActionResult Build() { string scriptcode = Request.Form["content"]; string expect = "20180824042"; if (!string.IsNullOrEmpty(Request.Form["expect"])) { expect = Request.Form["expect"]; } CPQaunt.Facade.BuilderScriptFacade builder = new CPQaunt.Facade.BuilderScriptFacade(); MessageScriptModel message = builder.Builder(expect, scriptcode); JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); jsSerializer.MaxJsonLength = Int32.MaxValue; string json = jsSerializer.Serialize(message); if (message.status) { return(SuccessResult(json)); } return(FailResult(json)); }
/// <summary> /// 公开JavaScript使用 /// </summary> /// <returns></returns> public string GetAllForUser() { MessageScriptModel message = new MessageScriptModel(); message.type = MessageType.List; message.numbers = GetALL(); message.status = true; return(JsonConvert.SerializeObject(message)); }
public ActionResult HuiCe() { string expect = Request.Form["expect"]; int lid = int.Parse(Request.Form["lid"]); Tcp_Clscript tcp = new Tcp_Clscript(); if (!tcp.SelectByPK(lid)) { return(FailResult("获取策略脚本失败!")); } CPQaunt.Facade.BuilderScriptFacade builder = new CPQaunt.Facade.BuilderScriptFacade(); MessageScriptModel message = builder.Builder(expect, tcp.Content); //得到下注数字集合 if (message.type == MessageType.Log) { return(FailResult(message.message)); } Tcp_Hiscode tcphis = new Tcp_Hiscode(); if (tcphis.SelectByExpect(expect)) { string[] sl = tcphis.Opencode.Split(','); NumberModel number = new NumberModel(); number.N1 = int.Parse(sl[0]); number.N2 = int.Parse(sl[1]); number.N3 = int.Parse(sl[2]); number.N4 = int.Parse(sl[3]); number.N5 = int.Parse(sl[4]); foreach (var item in message.numbers) { if (item.N1 == number.N1 && item.N2 == number.N2 && item.N3 == number.N3 && item.N4 == number.N4 && item.N5 == number.N5) { return(SuccessResult(message.numbers.Count)); } } return(SuccessResult("0")); } return(FailResult("回测失败!")); }
/// <summary> /// 编译传递的JavaScript 代码 /// </summary> /// <param name="cid">默认需求本期开奖id,回测系统使用</param> /// <param name="code">编译代码</param> /// <returns></returns> public MessageScriptModel Builder(string expect, string code) { StringBuilder stringBuilder = new StringBuilder(); string system = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("/Js/CPQaunt.js")); string jsonparese = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("/Js/json_parse.js")); string json2 = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("/Js/json2.js")); stringBuilder.AppendLine(jsonparese); stringBuilder.AppendLine(json2); stringBuilder.AppendLine(system); stringBuilder.AppendLine(code); try { using (Microsoft.ClearScript.ScriptEngine engine = new Microsoft.ClearScript.V8.V8ScriptEngine()) { engine.AddHostObject("LotteryFacade", new CPQaunt.Facade.LotteryFacade()); engine.Execute(stringBuilder.ToString()); var s = engine.Script.main(expect); MessageScriptModel message = new MessageScriptModel(); message.type = MessageType.List; message.status = true; JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); jsSerializer.MaxJsonLength = Int32.MaxValue; message.numbers = jsSerializer.Deserialize <List <NumberModel> >(s); return(message); } } catch (Exception e) { MessageScriptModel message = new MessageScriptModel(); message.type = MessageType.Log; message.status = false; message.message = e.Message; return(message); } }