VmcCameraTemplateRepository.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using Ropin.Inspection.Model.Entities;
  2. using Ropin.Inspection.Model.SearchModel.LGS;
  3. using Ropin.Inspection.Model.SearchModel.VMC;
  4. using Ropin.Inspection.Model.ViewModel.LGS;
  5. using Ropin.Inspection.Model.ViewModel.VMC;
  6. using Ropin.Inspection.Repository.LGS.Interface;
  7. using Ropin.Inspection.Repository.VMC.Interface;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. namespace Ropin.Inspection.Repository.VMC
  14. {
  15. //摄像头模板-Repository
  16. public class VmcCameraTemplateRepository : RepositoryBase<TVMC_CameraTemplate, string>, IVmcCameraTemplateRepository
  17. {
  18. public VmcCameraTemplateRepository(InspectionDbContext dbContext) : base(dbContext)
  19. {
  20. }
  21. public Task<IEnumerable<VmcCameraTemplateViewModel>> GetConditionAsync(VmcCameraTemplateSearch searchModel)
  22. {
  23. MySqlConnector.MySqlParameter[] parameters = new[] {
  24. new MySqlConnector.MySqlParameter("Status", searchModel?.C_Status),
  25. new MySqlConnector.MySqlParameter("name", "%"+searchModel?.C_Name+"%"),
  26. new MySqlConnector.MySqlParameter("Id ", searchModel?.C_ID)
  27. };
  28. StringBuilder sql = new StringBuilder();
  29. sql.Append(@"select * from (
  30. select c.*,u.C_Name as C_CreateName from TVMC_CameraTemplate c
  31. LEFT JOIN TSYS_User u on (c.C_CreateBy=u.C_UserID)
  32. ) tab Where 1=1");
  33. if (!string.IsNullOrEmpty(searchModel.C_Status))
  34. {
  35. sql.Append(" and C_Status=@Status ");
  36. }
  37. if (!string.IsNullOrEmpty(searchModel.C_Name))
  38. {
  39. sql.Append(" and C_Name like @name");
  40. }
  41. if (!string.IsNullOrEmpty(searchModel.C_ID))
  42. {
  43. sql.Append(" and C_ID=@Id ");
  44. }
  45. sql.Append(" order by I_Sort asc,D_CreateOn desc ");
  46. IEnumerable<VmcCameraTemplateViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<VmcCameraTemplateViewModel>(DbContext.Database, sql.ToString(), parameters);
  47. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  48. if (recordItemlist.Count() == 1 && recordItemlist.First() == null)
  49. {
  50. recordItemlist = null;
  51. }
  52. return Task.FromResult(searchModel.IsPagination ? recordItemlist?.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  53. }
  54. }
  55. }