public void Test2() { //持久一个对象 ReceiveMessageDataModel aMessage = new ReceiveMessageDataModel(-1, "1111", "hello", new DateTime(1999, 1, 1)); _TheTarget.SaveReceiveMessage(aMessage); //加载出来并比较 List <ReceiveMessageDataModel> theMessages = _TheTarget.GetReceiveMessageByStatus(false); Assert.AreEqual(1, theMessages.Count); ReceiveMessageDataModel theLoadedObject = theMessages[0]; Assert.IsTrue(aMessage.Equals(theLoadedObject)); //修改该对象 theLoadedObject.Content = "xxx"; theLoadedObject.BoradCasted = true; theLoadedObject.IsCleanMessage = true; theLoadedObject.TheNumber = "ssdfasf"; _TheTarget.SaveReceiveMessage(theLoadedObject); //查询 List <ReceiveMessageDataModel> theMessagesSecond = _TheTarget.GetReceiveMessageByStatus(false); Assert.AreEqual(0, theMessagesSecond.Count); List <ReceiveMessageDataModel> theMessagesThird = _TheTarget.GetAllReceiveMessages(); Assert.AreEqual(1, theMessagesThird.Count); Assert.IsTrue(theLoadedObject.Equals(theMessagesThird[0])); }
private void ReceiveMessageUpdate(ReceiveMessageDataModel message) { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_PKID, SqlDbType.Int).Value = message.Pkid; TheNeedParametersForReceiveMessageMessage(cmd, message); SqlHelper.ExecuteNonQuery("ReceiveMessageUpdate", cmd); }
private void TheNeedParametersForReceiveMessageMessage(SqlCommand cmd, ReceiveMessageDataModel message) { cmd.Parameters.Add(_BoradCasted, SqlDbType.Int).Value = message.BoradCasted; cmd.Parameters.Add(_Id, SqlDbType.Int).Value = message.Id; cmd.Parameters.Add(_TheNumber, SqlDbType.NVarChar, 50).Value = message.TheNumber; cmd.Parameters.Add(_Content, SqlDbType.NVarChar, 1000).Value = message.Content; cmd.Parameters.Add(_ReceivedTime, SqlDbType.DateTime).Value = message.ReceivedTime < new DateTime(1900, 1, 1) ? new DateTime(1900, 1, 1) : message.ReceivedTime; cmd.Parameters.Add(_IsCleanMessage, SqlDbType.Int).Value = message.IsCleanMessage; }
public void SaveReceiveMessage(ReceiveMessageDataModel aMessage) { if (!aMessage.IsObjectStatus) { ReceiveMessageInsert(aMessage); } else { ReceiveMessageUpdate(aMessage); } }
private void ReceiveMessageInsert(ReceiveMessageDataModel message) { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_PKID, SqlDbType.Int).Direction = ParameterDirection.Output; TheNeedParametersForReceiveMessageMessage(cmd, message); int pkid; SqlHelper.ExecuteNonQueryReturnPKID("ReceiveMessageInsert", cmd, out pkid); message.Pkid = pkid; }
public List <ReceiveMessageDataModel> GetAllReceiveMessages() { List <ReceiveMessageDataModel> retVal = new List <ReceiveMessageDataModel>(); SqlCommand cmd = new SqlCommand(); using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetAllReceiveMessage", cmd)) { while (sdr.Read()) { ReceiveMessageDataModel aMessage = new ReceiveMessageDataModel(int.Parse(sdr[_DBId].ToString()), sdr[_DBTheNumber].ToString(), sdr[_DBContent].ToString(), DateTime.Parse(sdr[_DBReceivedTime].ToString())); aMessage.IsCleanMessage = int.Parse(sdr[_DBIsCleanMessage].ToString()) == 0 ? false : true; aMessage.BoradCasted = int.Parse(sdr[_DBBoradCasted].ToString()) == 0 ? false : true; aMessage.IsObjectStatus = true; aMessage.Pkid = int.Parse(sdr[_DBPKID].ToString()); retVal.Add(aMessage); } } return(retVal); }
/// <summary> /// /// </summary> /// <param name="message"></param> public ReceivedMessageFactory(ReceiveMessageDataModel message) { _Message = message; _Account = _AccountBll.GetAccountByMobileNum(message.TheNumber); }
/// <summary> /// 收到提交出差消息后,处理该消息 /// </summary> public void OutCityMessageExcute(Account employee, ReceiveMessageDataModel message) { new OutCityApplicationMessage(employee, message).Excute(); }
private void DeleteMessageFailedHandler(ReceiveMessageDataModel aMessage) { WriteLine(string.Format("删除Sim卡中的短信失败,短信在机器中的编号为{0},收到的时间为{1},内容是{2}", aMessage.Id, aMessage.ReceivedTime, aMessage.Content)); }
public void ReceiveAllMessage() { //_TheSerialPort.ReadExisting(); //获取所有Sim卡中的短信 _TheSerialPort.SendString("AT+CMGL=4\r"); string theResponse; try { theResponse = _TheSerialPort.ReadTo("OK", 20000); } catch (TimeoutException) { ReceivedFailedHandler(); return; } //一条一条解析短信 Regex readReg = new Regex("(?:CMGL: (?<index>\\d+),\\d+,,\\d+\r\n(?<sms>\\S+)\r\n)"); MatchCollection allMaches = readReg.Matches(theResponse); int successCount = 0; foreach (Match m in allMaches) { int id; string senderNumber; string content; DateTime senderTime; if (!int.TryParse(m.Groups["index"].Value, out id)) { continue; } if (!PduDecoding.DecodingMsg(m.Groups["sms"].Value, out senderNumber, out content, out senderTime)) { DecodingSmsFailHandler(m.Groups["index"].Value, m.Groups["sms"].Value); continue; } ReceiveMessageDataModel theMessage = new ReceiveMessageDataModel(id, senderNumber, content, senderTime); successCount++; //删除Sim卡里面的信息 //AT+CMGL="ALL" _TheSerialPort.SendString("AT+CMGD=" + theMessage.Id + "\r"); try { _TheSerialPort.ReadTo("OK", 10000); theMessage.IsCleanMessage = true; } catch (TimeoutException) { DeleteMessageFailedHandler(theMessage); } finally { theMessage.MoveNumber86(); ObjectSource.GetMessageBox.EnqueueReceiveMessage(theMessage); } } //若是收到信息,引发异步事件 if (successCount > 0 && ReceivedMessage != null) { ReceivedMessage.BeginInvoke(this, new EventArgs(), null, null); } }
public void ReceiveMessage(ReceiveMessageDataModel message) { new ReceivedMessageFactory(message).Excute(); }
protected RequestMessageBase(Account account, ReceiveMessageDataModel message) { _Account = account; _Message = message; }
/// <summary> /// /// </summary> public LeaveRequestMessage(Account employee, ReceiveMessageDataModel message) : base(employee, message) { }
/// <summary> /// /// </summary> public OverWorkMessage(Account account, ReceiveMessageDataModel message) : base(account, message) { }
/// <summary> /// 收到提交加班消息后,处理该消息 /// </summary> public void OverWorkMessageExcute(Account employee, ReceiveMessageDataModel message) { new OverWorkMessage(employee, message).Excute(); }
/// <summary> /// /// </summary> /// <param name="employee"></param> /// <param name="message"></param> public OutCityApplicationMessage(Account employee, ReceiveMessageDataModel message) : base(employee, message) { }
public void EnqueueReceiveMessage(ReceiveMessageDataModel aMessage) { _TheDal.SaveReceiveMessage(aMessage); }
/// <summary> /// 收到提交请假消息后,处理该消息 /// </summary> public void LeaveRequestMessageExcute(Account employee, ReceiveMessageDataModel message) { new LeaveRequestMessage(employee, message).Excute(); }