mtnAlarmShadowRecordRepository.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Ropin.Inspection.Model.Entities;
  2. using Ropin.Inspection.Model.SearchModel.MTN;
  3. using Ropin.Inspection.Model.ViewModel.MTN;
  4. using Ropin.Inspection.Repository.MTN.Interface;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace Ropin.Inspection.Repository.MTN
  11. {
  12. public class mtnAlarmShadowRecordRepository : RepositoryBase<TMTN_AlarmShadowRecord, string>, ImtnAlarmShadowRecordRepository
  13. {
  14. public mtnAlarmShadowRecordRepository(InspectionDbContext DbContext) : base(DbContext)
  15. {
  16. }
  17. public Task<IEnumerable<AlarmShadowRecordModel>> GetList(AlarmShadowRecordSearch searchModel)
  18. {
  19. MySqlConnector.MySqlParameter[] parameters = new[] {
  20. new MySqlConnector.MySqlParameter("id", searchModel.C_ID),
  21. new MySqlConnector.MySqlParameter("pushMsgResultCode", searchModel.C_PushMsgResultCode),
  22. new MySqlConnector.MySqlParameter("devCode", searchModel.C_DevCode),
  23. new MySqlConnector.MySqlParameter("type", searchModel.C_Type),
  24. new MySqlConnector.MySqlParameter("cameraServiceType", searchModel.C_CameraServiceType)
  25. };
  26. StringBuilder sql = new StringBuilder();
  27. sql.Append(@" select * from (
  28. select m.*,c.C_Name as C_CameraName,d.C_Name as C_CameraServiceTypeName,d.C_Value
  29. from TMTN_AlarmShadowRecord m
  30. LEFT JOIN TMTN_PushMsgResult p on (m.C_PushMsgResultCode=p.C_ID)
  31. LEFT JOIN TBDM_CodeDetail d on (m.C_CameraServiceType=d.C_Code)
  32. LEFT JOIN TVMC_Camera c on (m.C_CameraCode=c.C_ID)
  33. ) tab where 1=1
  34. ");
  35. if (!string.IsNullOrEmpty(searchModel.C_PushMsgResultCode))
  36. {
  37. sql.Append(" and C_PushMsgResultCode=@pushMsgResultCode ");
  38. }
  39. if (!string.IsNullOrEmpty(searchModel.C_DevCode))
  40. {
  41. sql.Append(" and C_DevStoreCode=@devCode ");
  42. }
  43. if (!string.IsNullOrEmpty(searchModel.C_Type))
  44. {
  45. sql.Append(" and C_Type=@type ");
  46. }
  47. if (!string.IsNullOrEmpty(searchModel.C_CameraServiceType))
  48. {
  49. sql.Append(" and C_CameraServiceType=@cameraServiceType ");
  50. }
  51. if (!string.IsNullOrEmpty(searchModel.C_ID))
  52. {
  53. sql.Append(" and C_ID=@id ");
  54. }
  55. IEnumerable<AlarmShadowRecordModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<AlarmShadowRecordModel>(DbContext.Database, sql.ToString(), parameters);
  56. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  57. if (searchModel.TotalCount == 0)
  58. {
  59. recordItemlist = new List<AlarmShadowRecordModel>();
  60. }
  61. return Task.FromResult(searchModel.IsPagination ? recordItemlist.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  62. }
  63. }
  64. }