コード例 #1
0
 public bool SendMessageToClient(MessageSocketSession session, Model.MessageBodyModel model)
 {
     try
     {
         string xml = Careysoft.Basic.Public.ObjectSerializer.InstancesToXML <Model.MessageBodyModel>(model);
         xml = Careysoft.Basic.Public.DES.Encrypt(xml, session.Cookies["PrivateKey"]);
         Model.MessageModel msgModel = new Model.MessageModel(Model.EnumCommand.MessagePoint, xml);
         session.Send(msgModel.ToString());
         return(true);
     }
     catch (Exception e) {
     }
     return(false);
 }
コード例 #2
0
        public void SendWeiXinMessage(string userId, string message)
        {
            Model.MessageBodyModel modelBody = new Model.MessageBodyModel();
            modelBody.Header.TargetCode  = userId;
            modelBody.Header.TagetType   = Model.EnumClientType.WeChat;
            modelBody.Header.SourceCode  = m_ClientCode;
            modelBody.Header.MessageType = Model.EnumMessageType.Point;
            modelBody.MessageContentType = Model.EnumMessageContentType.Text;
            modelBody.MessageContent     = message;
            string body = Careysoft.Basic.Public.ObjectSerializer.InstancesToXML <Model.MessageBodyModel>(modelBody);

            body = Careysoft.Basic.Public.DES.Encrypt(body, m_PrivateKey);
            Model.MessageModel model = new Model.MessageModel(Model.EnumCommand.MessagePoint, body);
            m_WebSocketClient.Send(model.ToString());
        }
コード例 #3
0
        void m_WebSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            Model.MessageModel model = new Model.MessageModel(e.Message);
            switch (model.Command)
            {
            case Model.EnumCommand.AuthQuestion:
                m_WebSocketClient.Send(String.Format("{0} {1}${2}", Model.EnumCommand.AuthUser.ToString(), m_ClientCode, m_ClientPass));
                break;

            case Model.EnumCommand.AuthAccept:
                m_Logined    = true;
                m_PrivateKey = Careysoft.Basic.Public.DES.Decrypt(model.Body, DateTime.Now.AddDays(-1).ToString("yyyyMMdd"));
                break;

            case Model.EnumCommand.MessagePoint:
                string body = model.Body;
                body = Careysoft.Basic.Public.DES.Decrypt(body, m_PrivateKey);
                Model.MessageBodyModel msgModel = Careysoft.Basic.Public.ObjectSerializer.Xml16ToInstances <Model.MessageBodyModel>(body);
                break;
            }
        }
コード例 #4
0
        /// <summary>
        /// PDA用户登录
        /// </summary>
        /// <param name="jsondata"></param>
        /// <returns></returns>
        public async Task <MessageModel <string> > Login(LoginParam jsondata)
        {
            MessageModel <string> message = new Model.MessageModel <string>();

            //检验设备和工序是否对应
            if (jsondata.deviceNo.Substring(0, 1) == "Z" && jsondata.groupName.Substring(0, 2) != "正极")
            {
                message.success = false;
                message.msg     = "正极设备号不能登陆负极项目";
                return(message);
            }
            if (jsondata.deviceNo.Substring(0, 1) == "F" && jsondata.groupName.Substring(0, 2) != "负极")
            {
                message.success = false;
                message.msg     = "负极设备号不能登陆正极项目";
                return(message);
            }
            if (jsondata.deviceNo.Substring(2, 1) == "C" && jsondata.groupName.Substring(0, 2) != "正极")
            {
                message.success = false;
                message.msg     = "正极设备号不能登陆负极项目";
                return(message);
            }
            if (jsondata.deviceNo.Substring(2, 1) == "A" && jsondata.groupName.Substring(0, 2) != "负极")
            {
                message.success = false;
                message.msg     = "负极设备号不能登陆正极项目";
                return(message);
            }
            AgitationLoad alModel = new AgitationLoad();

            alModel = _mapper.Map <AgitationLoad>(jsondata);
            var result1 = await _dal.GlueLoad(alModel);

            if (result1.Count <= 0)
            {
                return(message);
            }

            if (result1[0].work_stationname.IndexOf(jsondata.groupName.Substring(jsondata.groupName.Length - 2, 2)) == -1)
            {
                message.success = false;
                message.msg     = $"该设备号不是【{jsondata.groupName}】设备号,不允许操作";
                return(message);
            }


            //检查制令单是否有效
            var result = await base.SqlQuery <CheckNo_Login>(@" select s.project_id,
        (select distinct p.cell_model
         from t_co_package p
         where p.packagenumber = @packagenumber) cell_model
 from t_pm_project_base s, t_pm_mo_base n
 where  n.project_id = s.project_base_id
 and    n.close_flag in (2, 4)
 and    n.mo_number = @packagenumber", new { packagenumber = jsondata.packageNo });

            if (result.Count <= 0)
            {
                message.success = false;
                message.msg     = "制令单号没有上线或者不存在!";
                return(message);
            }
            string res = await pmes.CheckUserDoAsync(jsondata.username, jsondata.password, jsondata.deviceNo);

            if (res.ToUpper() != "TRUE")
            {
                message.success = false;
                message.msg     = res;
                return(message);
            }
            else
            {
                message.success = true;
                message.msg     = "登录成功";
            }
            //message.response = jsondata;
            return(message);
        }