Exemplo n.º 1
0
        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()));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        /// <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));
        }
Exemplo n.º 4
0
        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("回测失败!"));
        }
Exemplo n.º 5
0
        /// <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);
            }
        }