电子药箱通讯服务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MessageDataInDAL.cs 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Data;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Dapper;
  8. namespace RDH.PharmacyPlatform.Sync.Core
  9. {
  10. internal class MessageDataInDAL : BaseDAL<MessageData>
  11. {
  12. public MessageDataInDAL()
  13. {
  14. this.TableName = "T_Message_Data_In";
  15. }
  16. internal override Dictionary<string, string> InitMaps()
  17. {
  18. Dictionary<String, String> maps = new Dictionary<string, string>();
  19. maps.Add("Create_Time", "CreateTime");
  20. maps.Add("Source_Id", "SourceId");
  21. maps.Add("Message_Content", "MessageContent");
  22. maps.Add("Message_Content_Type", "MessageContentType");
  23. maps.Add("Filter_Type", "FilterType");
  24. maps.Add("Target_Id", "TargetId");
  25. return maps;
  26. }
  27. public override bool DeleteModel(MessageData obj)
  28. {
  29. return SqlMapper.Execute(ConnectionSessionFactory.GetConnection(),
  30. String.Format("DELETE FROM {0} WHERE Create_Time=:CreateTime AND Source_Id=:SourceId", this.TableName),
  31. obj) > 0;
  32. }
  33. internal MessageData DeQueue()
  34. {
  35. IDbConnection conn = ConnectionSessionFactory.GetConnection();
  36. MessageData message = SqlMapper.Query<MessageData>(conn,
  37. String.Format("{0} ORDER BY Create_Time DESC", BuildSelectSql())).FirstOrDefault();
  38. if (message != null)
  39. {
  40. DeleteModel(message);
  41. }
  42. return message;
  43. }
  44. internal MessageData Peek()
  45. {
  46. IDbConnection conn = ConnectionSessionFactory.GetConnection();
  47. MessageData message = SqlMapper.Query<MessageData>(conn,
  48. String.Format("{0} ORDER BY Create_Time LIMIT 1", BuildSelectSql())).FirstOrDefault();
  49. return message;
  50. }
  51. }
  52. }