public HttpResponseMessage GetTopGold(string count)
        {
            var icount = typeParser.intParse(count);

            if (icount > 10 || icount < 1)
            {
                icount = 10;
            }
            var ttop = ADatabaseConfigsManager.avatarDB.FindManyData(ADatabaseConfigsManager.tAvatarData, ADBAccessor.filter_Gte(InfoNameDefs.AvatarLevel, 0), ADBAccessor.projections(InfoNameDefs.AvatarName, InfoNameDefs.AvatarGold), icount, 0, ADBAccessor.sort_Descending(InfoNameDefs.AvatarGold));
            List <List <string> > lresults = new List <List <string> >();

            foreach (var t in ttop)
            {
                if (t.Contains(InfoNameDefs.AvatarGold) && t.Contains(InfoNameDefs.AvatarName))
                {
                    var l = new List <string>();
                    l.Add(InfoNameDefs.AvatarName);
                    l.Add(t[InfoNameDefs.AvatarName].ToString());
                    l.Add("value");
                    l.Add(t[InfoNameDefs.AvatarGold].ToString());
                    lresults.Add(l);
                }
            }
            return(ResultToJson.GetJsonResponse(ResultToJson.JsonFormatArray("r", lresults)));
        }
예제 #2
0
        public object GetClassInfo()
        {
            HttpCookie cookie   = HttpContext.Current.Request.Cookies["UserInfoRemember"];
            String     username = cookie["username"].ToString();
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     id       = cookie1["CourseId"];
            int        courseId = int.Parse(id);
            var        query    = new BmobQuery();

            query.WhereEqualTo("tId", username);
            var q1 = new BmobQuery();

            q1.WhereEqualTo("courseId", courseId);
            query.And(q1);
            var future = Bmob.FindTaskAsync <Class>("Class", query);

            try
            {
                classList = future.Result.results;
                return(ResultToJson.toJson(classList));
            }
            catch
            {
                return("获取失败");
            }
        }
예제 #3
0
        public HttpResponseMessage ordercallback()
        {
            var callback      = OnReadPostData();
            var xe            = XElement.Parse(callback);
            var cash_feev     = xe.Element("cash_fee");
            var out_trade_nov = xe.Element("out_trade_no");
            var total_feev    = xe.Element("total_fee");
            var trade_typev   = xe.Element("trade_type");
            var signv         = xe.Element("sign");

            if (cash_feev != null && out_trade_nov != null && total_feev != null && trade_typev != null && signv != null)
            {
                var out_trade_no = out_trade_nov.Value;
                var cash_fee     = cash_feev.Value;
                var total_fee    = total_feev.Value;
                var trade_type   = trade_typev.Value;
                if (cash_fee == total_fee)
                {
                    //var res = DoOrderPayed(out_trade_no, typeParser.intParse(cash_fee), trade_type, callback);

                    {
                        AOutput.LogError("order " + out_trade_no + " update failed\r\n" + callback);
                    }
                }
                else
                {
                    AOutput.LogError("order " + out_trade_no + " fee not equal!\r\n" + callback);
                }
            }
            var res = (@"<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg><sign><![CDATA[" + signv.Value + "]]></sign></xml>");

            return(ResultToJson.ToNormalResponse(res));
        }
예제 #4
0
        public HttpResponseMessage PostSpeechReturn(JObject JsonRequest)
        {
            //解析所需进行的操作
            //JObject Pipixia = JsonRequest;
            string functionName = JsonRequest["functionName"].ToString();

            try
            {
                switch (functionName)
                {
                //初始化
                //只需要执行一次即可生成
                case "init":
                    //初始化命令词
                    Choices conmmonds = new Choices();
                    //添加命令词
                    conmmonds.Add(new string[] { "李明登录", "史晓丹登录", "廉颖登录", "欧阳里盘登录" });
                    //初始化命令词管理
                    GrammarBuilder gBuilder = new GrammarBuilder();
                    //将命令词添加到管理中
                    gBuilder.Append(conmmonds);
                    //实例化命令词管理
                    Grammar grammar = new Grammar(gBuilder);
                    //创建并加载听写语法(添加命令词汇识别的比较精准)
                    recognizer.LoadGrammar(grammar);
                    break;

                case "start":
                    //为语音识别事件添加处理程序。
                    recognizer.SpeechRecognized += new EventHandler <SpeechRecognizedEventArgs>(recognizer_SpeechRRecongized);
                    //将输入配置到语音识别器。
                    recognizer.SetInputToDefaultAudioDevice();
                    //启动异步,连续语音识别。
                    recognizer.RecognizeAsync(RecognizeMode.Multiple);
                    break;

                case "stop":
                    break;

                case "return":
                    //移除多播委托 否则会出现再次start时叠加输入信息
                    recognizer.SpeechRecognized -= new EventHandler <SpeechRecognizedEventArgs>(recognizer_SpeechRRecongized);
                    //关闭异步语音识别
                    recognizer.RecognizeAsyncCancel();
                    //编辑回传字符串
                    returnValue = JsonConvert.SerializeObject(new { list = Common.recognize });
                    break;
                }
            }
            catch (Exception e)
            {
                returnValue = JsonConvert.SerializeObject(new { error = e.ToString() });
            }
            return(ResultToJson.toJson(returnValue));
            //是否需要清空LIST??
            //Common.recognize.Clear();
        }
        public HttpResponseMessage GetHeartBeat()
        {
            int    status      = 1;
            String returnValue = JsonConvert.SerializeObject(new
            {
                status = status.ToString()
            });

            return(ResultToJson.toJson(returnValue));
        }
        public HttpResponseMessage CheckToken(string username, string token)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            return(ResultToJson.GetJsonResponse(InfoNameDefs.UserToken, token));
        }
예제 #7
0
 internal HttpResponseMessage OnDailyCheck()
 {
     if (ApiDateTime.IsSameDay(LastDailyCheckTime))
     {
         return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DailyChecked));
     }
     LastDailyCheckTime = ApiDateTime.SecondsFromBegin();
     AvatarGold        += 1000;
     return(GetDiryParamResponse());
 }
예제 #8
0
        private static extern int ReadBaseInfos(StringBuilder Name, StringBuilder Gender, StringBuilder Folk, StringBuilder BirthDay, StringBuilder Code, StringBuilder Address, StringBuilder Agency, StringBuilder ExpireStart, StringBuilder ExpireEnd);//读取数据,推荐使用


        public HttpResponseMessage GetNationalCardReturn(string JsonRequest)
        {
            int    status      = 0;
            string returnValue = String.Empty;

            //解析方法名
            JObject Parameters   = JObject.Parse(JsonRequest);
            string  functionName = Parameters["functionName"].ToString();

            try
            {
                switch (functionName)
                {
                //这里也不需要先新建一个connection??
                case "InitComm":
                    int port = Int32.Parse(Parameters["port"].ToString());
                    status      = InitComm(port);
                    returnValue = JsonConvert.SerializeObject(new { status = status.ToString() });
                    break;

                case "Authenticate":
                    status      = Authenticate();
                    returnValue = JsonConvert.SerializeObject(new { status = status.ToString() });
                    break;

                case "CloseComm":
                    status      = CloseComm();
                    returnValue = JsonConvert.SerializeObject(new { status = status.ToString() });
                    break;

                case "ReadBaseInfos":
                    StringBuilder Name        = new StringBuilder(31);
                    StringBuilder Gender      = new StringBuilder(3);
                    StringBuilder Folk        = new StringBuilder(10);
                    StringBuilder BirthDay    = new StringBuilder(9);
                    StringBuilder Code        = new StringBuilder(19);
                    StringBuilder Address     = new StringBuilder(71);
                    StringBuilder Agency      = new StringBuilder(31);
                    StringBuilder ExpireStart = new StringBuilder(9);
                    StringBuilder ExpireEnd   = new StringBuilder(9);

                    status      = ReadBaseInfos(Name, Gender, Folk, BirthDay, Code, Address, Agency, ExpireStart, ExpireEnd);
                    returnValue = JsonConvert.SerializeObject(new { Name    = Name.ToString(), Gender = Gender.ToString(), Folk = Folk.ToString(), BirthDay = BirthDay.ToString(), Code = Code.ToString(),
                                                                    Address = Address.ToString(), Agency = Agency.ToString(), ExpireStart = ExpireStart.ToString(), ExpireEnd = ExpireEnd.ToString(), status = status.ToString() });
                    break;
                }
            }
            catch (Exception e)
            {
                returnValue = JsonConvert.SerializeObject(new { error = e.ToString() });
            }

            return(ResultToJson.toJson(returnValue));
        }
        public HttpResponseMessage Logout(string username, string token)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }

            ATokenManager.Instance.OnRemoveToken(username);
            ADatabaseConfigsManager.userDB.UpdateOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username), ADBAccessor.update_unset(InfoNameDefs.UserToken));
            return(ResultToJson.GetErrorJsonResponse());
        }
예제 #10
0
    public HttpResponseMessage GetAllParamResponse()
    {
        var ps  = componentParam.AllParamsToSync;
        var obj = new JObject();

        foreach (var p in ps)
        {
            obj[p] = OnGetStringParamValue(p);
        }
        var res = new JObject();

        res["avatar"] = obj;
        return(ResultToJson.GetJsonResponse(res));
    }
        public HttpResponseMessage DailyCheck(string username, string token)
        {
            if (!ATokenManager.Instance.OnCheckToken(username, token))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NoAvatar));
            }
            return(avatar.OnDailyCheck());
        }
예제 #12
0
        public HttpResponseMessage SelectAvatar(string username, string token)
        {
            if (!ATokenManager.Instance.OnCheckToken(username, token))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NoAvatar));
            }
            return(ResultToJson.GetJsonResponse("avatar", ResultToJson.JsonFormat(avatar.ToAll())));
        }
        public HttpResponseMessage CaiDaXiao(string username, string token, int multi, int isBig)
        {
            if (!ATokenManager.Instance.OnCheckToken(username, token))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NoAvatar));
            }

            return(avatar.OnCaiDaXiao(multi, isBig));
        }
        public HttpResponseMessage PostImageVerficationReturn(JObject JsonRequest)
        {
            int    status  = 1;
            string picPath = JsonRequest["picPath"].ToString();

            InitEngines();
            status = ReadImage(picPath);
            String returnValue = JsonConvert.SerializeObject(new
            {
                status = status.ToString()
            });
            int retCode = ASIDCardFunctions.ArcSoft_FIC_UninitialEngine(pEngine);

            return(ResultToJson.toJson(returnValue));
        }
예제 #15
0
    public HttpResponseMessage GetDiryParamResponse(params string[] extraParams)
    {
        var obj = GetDirtyParams();

        if (extraParams.Length > 0)
        {
            if (extraParams.Length % 2 != 0)
            {
                throw new Exception("Invalid extraParam length");
            }
            for (var i = 0; i < extraParams.Length; i += 2)
            {
                obj[extraParams[i]] = extraParams[i + 1];
            }
        }
        return(ResultToJson.GetJsonResponse(obj));
    }
예제 #16
0
        public HttpResponseMessage PostDossierReturn(JObject JsonRequest)
        {
            int status = 1;

            MySqlConnection sqlCnn = new MySqlConnection();

            sqlCnn.ConnectionString = "server = '127.0.0.1'; uid = 'root'; pwd = 'mysql'; database = 'dossierstransfer';Allow User Variables=True;";//连接字符串
            string malePatientName          = JsonRequest["malePatientName"].ToString();
            string malePatientIdCard        = JsonRequest["malePatientIdCard"].ToString();
            string malePatientFingerPrint   = JsonRequest["malePatientFingerPrint"].ToString();
            string femalePatientName        = JsonRequest["femalePatientName"].ToString();
            string femalePatientIdCard      = JsonRequest["femalePatientIdCard"].ToString();
            string femalePatientFingerPrint = JsonRequest["femalePatientFingerPrint"].ToString();
            string insertDate          = JsonRequest["insertDate"].ToString();
            string folderWithTimeStamp = JsonRequest["folderWithTimeStamp"].ToString();

            try
            {
                sqlCnn.Open();
                string       sql    = "INSERT INTO dossier VALUES(@malePatientName, @malePatientIdCard, @malePatientFingerPrint, @femalePatientName, @femalePatientIdCard, @femalePatientFingerPrint, @insertDate, @folderWithTimeStamp)";
                MySqlCommand sqlCmd = new MySqlCommand(sql, sqlCnn);
                sqlCmd.Parameters.AddWithValue("@malePatientName", malePatientName);
                sqlCmd.Parameters.AddWithValue("@malePatientIdCard", malePatientIdCard);
                sqlCmd.Parameters.AddWithValue("@malePatientFingerPrint", malePatientFingerPrint);
                sqlCmd.Parameters.AddWithValue("@femalePatientName", femalePatientName);
                sqlCmd.Parameters.AddWithValue("@femalePatientIdCard", femalePatientIdCard);
                sqlCmd.Parameters.AddWithValue("@femalePatientFingerPrint", femalePatientFingerPrint);
                sqlCmd.Parameters.AddWithValue("@insertDate", insertDate);
                sqlCmd.Parameters.AddWithValue("@folderWithTimeStamp", folderWithTimeStamp);
                MySqlDataReader rdr = sqlCmd.ExecuteReader();
                rdr.Close();
                sqlCnn.Close();
                status = 0;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

            String returnValue = JsonConvert.SerializeObject(new
            {
                status = status.ToString()
            });

            return(ResultToJson.toJson(returnValue));
        }
예제 #17
0
        public HttpResponseMessage GetSpeaker(string JsonRequest)
        {
            JObject Parameters = JObject.Parse(JsonRequest);
            string  text       = Parameters["text"].ToString();

            if (!Common.texts.Contains(text))
            {
                Common.texts.Enqueue(text);
            }
            int    status      = 0;
            String returnValue = JsonConvert.SerializeObject(new
            {
                status = status.ToString()
            });

            return(ResultToJson.toJson(returnValue));
        }
        public HttpResponseMessage GetOne(string username, string token)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse("No avatar."));
            }
            var q = avatar.OnGetOneQuestion();

            return(ResultToJson.GetJsonResponse("q", q));
        }
        public HttpResponseMessage CreateAvatar(string username, string token, string avatarname, string sex)
        {
            var check = ATokenManager.Instance.OnCheckToken(username, token);

            if (!check)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.InvalidToken));
            }
            avatarname = CommonUtil.filtername(avatarname);
            var len = CommonUtil.GetStringLength(avatarname);

            if (len <= 2 || len > 12)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.AvatarNameInvalidLength));
            }
            var isex = typeParser.intParse(sex);

            if (isex != 0 && isex != 1)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.InvalidSex));
            }
            {
                var a = AAvatarManager.Instance.OnGetAvatar(username);
                if (a != null)
                {
                    return(ResultToJson.GetErrorJsonResponse(ErrorDefs.AlreadyHasAvatar));
                }
            }
            var findRes = ADatabaseConfigsManager.avatarDB.FindOneData(ADatabaseConfigsManager.tAvatarData, ADBAccessor.filter_eq(InfoNameDefs.AvatarName, avatarname));

            if (findRes != null && findRes.Contains(InfoNameDefs.AvatarName))
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DuplicateAvatarName));
            }
            else
            {
                var avatar = AAvatarManager.Instance.OnCreateAvatar(username, avatarname, isex);
                if (avatar != null)
                {
                    return(avatar.GetAllParamResponse());
                }
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DBError));
            }
        }
        public HttpResponseMessage PostFaceCompareFormReturn(JObject JsonRequest)
        {
            int             status          = 1;
            string          imagePath       = JsonRequest["imagePath"].ToString();
            string          rootPath        = System.Environment.CurrentDirectory;
            string          localImagePath  = Path.Combine(rootPath, "photo.bmp");
            string          imageLoadPath   = imagePath.Equals("") ? localImagePath : imagePath;
            FaceCompareForm faceCompareForm = new FaceCompareForm(imageLoadPath);

            Application.Run(faceCompareForm);
            faceCompareForm.TopMost = true;
            status = faceCompareForm.formReturnValue;
            String returnValue = JsonConvert.SerializeObject(new
            {
                status = status.ToString()
            });

            return(ResultToJson.toJson(returnValue));
        }
예제 #21
0
        public object GetResourceInfo(int unitId, int knowledgeId)
        {
            HttpCookie cookie1  = HttpContext.Current.Request.Cookies["CurrentCourse"];
            String     id       = cookie1["CourseId"];
            int        courseId = int.Parse(id);
            var        query    = new BmobQuery();

            query.WhereEqualTo("courseId", courseId);
            if (unitId != 0)
            {
                var q1 = new BmobQuery();
                q1.WhereEqualTo("unitId", unitId);
                query.And(q1);
            }
            if (knowledgeId != 0)
            {
                var q1 = new BmobQuery();
                q1.WhereEqualTo("knowledgeId", knowledgeId);
                query.And(q1);
            }
            var future = Bmob.FindTaskAsync <Resource>("Resource", query);

            try
            {
                resourceList = future.Result.results;
                List <Resource_View> resourceView = new List <Resource_View>();
                foreach (var resource in resourceList)
                {
                    Resource_View resources = new Resource_View();
                    resources.id       = resource.id.Get();
                    resources.fileUrl  = resource.file.url;
                    resources.fileName = resource.file.filename;
                    resources.type     = resource.type;
                    resourceView.Add(resources);
                }
                return(ResultToJson.toJson(resourceView));
            }
            catch
            {
                return("fail");
            }
        }
        public HttpResponseMessage PostFaceRecordFormReturn(JObject JsonRequest)
        {
            int            status         = 1;
            FaceRecordForm faceRecordForm = new FaceRecordForm(Int32.Parse(JsonRequest["gender"].ToString()), JsonRequest["hostAddr"].ToString());

            Application.Run(faceRecordForm);
            faceRecordForm.TopMost = true;
            status = faceRecordForm.formReturnValue;
            var patientInfo = new
            {
                avatar    = faceRecordForm.picResizedHttpPath,
                originPic = faceRecordForm.picHttpPath,
            };
            String returnValue = JsonConvert.SerializeObject(new
            {
                status = status.ToString(),
                patientInfo,
            });

            return(ResultToJson.toJson(returnValue));
        }
        public HttpResponseMessage Login(string username, string password)
        {
            var res = ADatabaseConfigsManager.userDB.FindOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username) & ADBAccessor.filter_eq(InfoNameDefs.UserPassword, MD5String.Hash32(password)));

            if (res == null)
            {
                return(ResultToJson.GetErrorJsonResponse("Username and password mismatch."));
            }
            var token = "";

            if (res.Contains(InfoNameDefs.UserToken))
            {
                token = res[InfoNameDefs.UserToken].ToString();
            }
            else
            {
                token = AWebServerUtils.GetEncryptCode(12);
                ADatabaseConfigsManager.userDB.UpdateOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username), ADBAccessor.update(InfoNameDefs.UserToken, token));
            }
            return(ResultToJson.GetJsonResponse(InfoNameDefs.UserToken, res[InfoNameDefs.UserToken].ToString()));
        }
예제 #24
0
        public HttpResponseMessage Register(string username, string password, string mail)
        {
            if (!mail.Contains("@") || !mail.Contains(".") || mail.IndexOf("@") > mail.IndexOf("."))
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid mail address."));
            }

            if (username.Length < 4)
            {
                return(ResultToJson.GetErrorJsonResponse("Too short username."));
            }
            if (username.Length > 16)
            {
                return(ResultToJson.GetErrorJsonResponse("Too long username."));
            }

            var res = ADatabaseConfigsManager.userDB.FindOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username));

            if (res != null)
            {
                return(ResultToJson.GetErrorJsonResponse("Username registered."));
            }
            var token = AWebServerUtils.GetEncryptCode(12);
            var ures  = ADatabaseConfigsManager.userDB.UpdateOneData(ADatabaseConfigsManager.tUserData, ADBAccessor.filter_eq(InfoNameDefs.Username, username)
                                                                     , ADBAccessor.updates_build(
                                                                         ADBAccessor.update(InfoNameDefs.UserToken, token)
                                                                         , ADBAccessor.update(InfoNameDefs.Username, username)
                                                                         , ADBAccessor.update(InfoNameDefs.UserMail, mail)
                                                                         , ADBAccessor.update(InfoNameDefs.UserPassword, MD5String.Hash32(password))
                                                                         )
                                                                     , true);

            if (!ures)
            {
                return(ResultToJson.GetErrorJsonResponse(ErrorDefs.DBError));
            }

            ATokenManager.Instance.OnSetToken(username, token);
            return(ResultToJson.GetJsonResponse(InfoNameDefs.Username, username, InfoNameDefs.UserToken, token));
        }
        public HttpResponseMessage Answer(string username, string token, string answer)
        {
            var eCheck = ATokenManager.Instance.OnCheckToken(username, token);

            if (!eCheck)
            {
                return(ResultToJson.GetErrorJsonResponse("Invalid token."));
            }
            var avatar = AAvatarManager.Instance.OnGetAvatar(username);

            if (avatar == null)
            {
                return(ResultToJson.GetErrorJsonResponse("No avatar."));
            }
            var res = avatar.OnAnswer(answer);

            if (res)
            {
                return(avatar.GetDiryParamResponse());
            }
            return(ResultToJson.GetErrorJsonResponse("wrong"));
        }
예제 #26
0
    internal HttpResponseMessage OnCaiDaXiao(int multi, int isBig)
    {
        if (!InitValueDefs.CaiDaXiaoMultis.Contains(multi))
        {
            return(ResultToJson.GetErrorJsonResponse($"multi {multi}"));
        }
        if (AvatarGold < multi * InitValueDefs.CaiDaXiaoCost)
        {
            return(ResultToJson.GetErrorJsonResponse(ErrorDefs.NotEnoughGold));
        }
        int rdm = ApiRandom.Instance.Next(6);

        if ((isBig == 1 && rdm >= 3) || (isBig == 0 && rdm < 3))
        {
            AvatarGold += multi * InitValueDefs.CaiDaXiaoCost;
        }
        else
        {
            AvatarGold -= multi * InitValueDefs.CaiDaXiaoCost;
        }
        return(GetDiryParamResponse("res", rdm.ToString()));
    }
예제 #27
0
        static void Main(string[] args)
        {
            var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory.ToString(), args[0]);

            using (StreamReader r = new StreamReader(path))
            {
                string  json          = r.ReadToEnd();
                dynamic array         = JsonConvert.DeserializeObject(json);
                var     orderFromJson = JsonConvert.DeserializeObject <OrderFromJson>(json);
                var     order         = orderFromJson.ConvertToOrder();

                CleanService cleanService = new CleanService(order);

                var result = cleanService.Start();

                var resultToJson = new ResultToJson
                {
                    Battery = result.Battery,
                    Cleaned = result.CleanedCells.Select(x => x.Point).ToList(),
                    Visited = result.VisitedCells.Select(x => x.Point).ToList(),
                    Final   = new Start
                    {
                        Facing = Enum.GetName(typeof(FacingEnum), result.FinalState.Faceing).Substring(0, 1),
                        X      = result.FinalState.Cell.Point.X,
                        Y      = result.FinalState.Cell.Point.Y
                    }
                };

                var resultJson = JsonConvert.SerializeObject(resultToJson, new PointJsonConverter());

                var resultPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory.ToString(), args[1]);

                File.WriteAllText(resultPath, JToken.Parse(resultJson).ToString(Formatting.Indented));

                Console.WriteLine("Done");
            }
        }
예제 #28
0
        private HttpResponseMessage Handle(string postString)
        {
            var xmldoc = new XmlDocument();

            xmldoc.LoadXml(postString);
            XmlNode ToUserName   = xmldoc.SelectSingleNode("/xml/ToUserName");
            XmlNode FromUserName = xmldoc.SelectSingleNode("/xml/FromUserName");
            XmlNode MsgType      = xmldoc.SelectSingleNode("/xml/MsgType");

            var tousername = ToUserName.InnerText;
            var fromOpenID = FromUserName.InnerText;

            if (MsgType.InnerText == "event")
            {
                XmlNode Event  = xmldoc.SelectSingleNode("/xml/Event");
                var     sEvent = Event.InnerText;
                if (sEvent.Equals("subscribe"))
                {
                    return(ResultToJson.ToNormalResponse(FormatResult(fromOpenID, tousername, "欢迎光临,您是来捐款的吗?可以现金,可以刷卡,可以小额贷款,接受器官捐献。")));
                }
                return(ResultToJson.ToNormalResponse($"未处理的事件类型:{sEvent}"));
            }

            XmlNode Content = xmldoc.SelectSingleNode("/xml/Content");
            var     req     = Content.InnerText;
            var     result  = req.ToLower().Trim();

            switch (result)
            {
            case "cfkj":
            case "乘法口诀":
                return(ResultToJson.ToNormalResponse(FormatResult(fromOpenID, tousername, $"{ApiRandom.Instance.Next(1, 10)}×{ApiRandom.Instance.Next(1, 10)}=")));

            default:
                return(ResultToJson.ToNormalResponse(FormatResult(fromOpenID, tousername, result)));
            }
        }
 public HttpResponseMessage Get()
 {
     return(ResultToJson.GetErrorJsonResponse("0"));
 }
예제 #30
0
        public HttpResponseMessage PostRFPrinterExecute(JObject Jsonrequest)
        {
            JObject             Parameters     = Jsonrequest;
            string              printType      = Parameters["printtype"].ToString();
            int                 printTimes     = Int32.Parse(Parameters["printtimes"].ToString()); // 打印次数
            JArray              usersInfo      = JArray.Parse(Parameters["usersInfo"].ToString());
            int                 RFStatus       = 0;
            int                 tagID          = 8;
            List <RFReturnPair> returnPairList = new List <RFReturnPair>();
            StringBuilder       sbRFID         = new StringBuilder(256);

            // 读取函数只能在Open函数之前 或者close函数之后运行 否则会报错
            // 读取RFID数值之后转换为PC端同一格式
            // 翻转整体数组然后奇偶位互换


            try
            {
                for (int count = 1; count <= printTimes; count++)
                {
                    for (int i = 0; i < usersInfo.Count; i++)
                    {
                        RFStatus = PTK_ReadHFTagUIDUSB(255, 1, sbRFID);
                        if (RFStatus != 0)
                        {
                            OpenPort(255);//打开打印机端口
                            //MessageBox.Show("错误码:" + RFStatus.ToString() + "当前标签不可用");
                            PTK_DrawTextTrueTypeW(180, 180, 40, 0, "宋体", 2, 900, false, false, false, "B1", "当前标签不可用");
                            int state = PTK_PrintLabel(1, 1);
                            ClosePort(); // 打印完成之后关闭打印端口
                            continue;
                        }
                        string temp   = sbRFID.ToString();
                        char[] RFInfo = temp.ToCharArray();
                        Array.Reverse(RFInfo);
                        for (int num = 0; num < RFInfo.Length; num += 2)
                        {
                            Array.Reverse(RFInfo, num, 2);
                        }
                        string RFID = string.Join("", RFInfo);
                        OpenPort(255);                          //打开打印机端口
                        PTK_ClearBuffer();                      //清空缓冲区
                        PTK_SetPrintSpeed(1);                   //设置打印速度
                        PTK_SetDarkness(20);                    //设置打印黑度
                        PTK_SetLabelHeight(436, 271, 0, false); //设置标签的高度和定位间隙\黑线\穿孔的高度
                        PTK_SetLabelWidth(200);                 //设置标签的宽度
                        //string femalename =string.Empty;
                        //string malename = string.Empty;
                        //string birthfemale =string.Empty;
                        //string birthmale = string.Empty;
                        //string cycleID = string.Empty;
                        //string cycletype = string.Empty;
                        //foreach (var test in usersInfo[i])
                        //{
                        //    femalename = test.Values(femalename).ToString();
                        //    malename = test.Values(malename).ToString();
                        //    birthfemale = test.Values(birthfemale).ToString();
                        //    birthmale = test.Values(birthmale).ToString();
                        //    cycleID = test.Values(cycleID).ToString();
                        //    cycletype = test.Values(cycletype).ToString();
                        //}
                        string femalename  = usersInfo[i]["femalename"].ToString();
                        string malename    = usersInfo[i]["malename"].ToString();
                        string birthfemale = usersInfo[i]["birthfemale"].ToString();
                        string birthmale   = usersInfo[i]["birthmale"].ToString();
                        string cycleID     = usersInfo[i]["cycleID"].ToString();
                        string cycletype   = usersInfo[i]["cycletype"].ToString();
                        PTK_DrawTextTrueTypeW(185, 180, 40, 0, "宋体", 2, 900, false, false, false, tagID.ToString(), femalename);
                        PTK_DrawTextTrueTypeW(80, 180, 40, 0, "宋体", 2, 900, false, false, false, (tagID + 1).ToString(), malename);
                        tagID += 2;
                        //PrintLab.PTK_DrawTextTrueTypeW(200, 100, 40, 0, "宋体", 2, 900, false, false, false, "A2", femaleName);
                        //PrintLab.PTK_DrawTextTrueTypeW(200, 100, 40, 0, "宋体", 2, 900, false, false, false, "A2", maleName);
                        //PTK_DrawText(200, 100, 0, 6, 3, 1, 'N', femalename);
                        //PTK_DrawText(50, 100, 0, 6, 3, 1, 'N', malename);
                        int status = PTK_PrintLabel(1, 1);
                        returnPairList.Add(new RFReturnPair(cycleID, RFID));
                        //ClosePort(); // 打印完成之后关闭打印端口
                    }
                }
                tempPairList = JsonConvert.SerializeObject(returnPairList);
                //ReturnList test = new ReturnList(RFStatus, returnPairList);
                returnValue = JsonConvert.SerializeObject(new { returnPairList = tempPairList, RFStatus });
                //returnValue = JsonConvert.SerializeObject(test);
            }

            catch (Exception e)
            {
                // 捕获错误之后返回所有已经打印的周期号以及相关报错信息
                string error = e.ToString();
                tempPairList = JsonConvert.SerializeObject(returnPairList);
                //ReturnList test = new ReturnList(RFStatus, error, returnPairList);
                returnValue = JsonConvert.SerializeObject(new { returnPairList = tempPairList, RFStatus, error });
                //returnValue = JsonConvert.SerializeObject(test);
            }
            ClosePort(); // 打印完成之后关闭打印端口
            return(ResultToJson.toJson(returnValue));
        }