lgsLargeScreenTemplateRepository.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using Ropin.Inspection.Model.Entities;
  2. using Ropin.Inspection.Model.SearchModel.LGS;
  3. using Ropin.Inspection.Model.ViewModel.DEV;
  4. using Ropin.Inspection.Model.ViewModel.LGS;
  5. using Ropin.Inspection.Repository.LGS.Interface;
  6. using Ropin.Inspection.Repository.SYS.Interface;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace Ropin.Inspection.Repository.LGS
  13. {
  14. public class lgsLargeScreenTemplateRepository : RepositoryBase<TLGS_LargeScreenTemplate, string>, IlgsLargeScreenTemplateRepository
  15. {
  16. public lgsLargeScreenTemplateRepository(InspectionDbContext dbContext) : base(dbContext)
  17. {
  18. }
  19. public Task<IEnumerable<LGS_LargeScreenTemplateViewModel>> GetConditionAsync(LargeScreenTemplateSearch searchModel)
  20. {
  21. MySqlConnector.MySqlParameter[] parameters = new[] {
  22. new MySqlConnector.MySqlParameter("Status", searchModel?.C_Status),
  23. new MySqlConnector.MySqlParameter("name", "%"+searchModel?.C_Name+"%"),
  24. new MySqlConnector.MySqlParameter("Type", searchModel?.C_Type),
  25. new MySqlConnector.MySqlParameter("Id ", searchModel?.C_ID)
  26. };
  27. StringBuilder sql = new StringBuilder();
  28. sql.Append(@"select * from (
  29. select l.*,b.C_Name as C_TypeName
  30. from TLGS_LargeScreenTemplate l
  31. LEFT JOIN TBDM_CodeDetail b on (l.C_Type=b.C_Code)
  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_Type))
  42. {
  43. sql.Append(" and C_Type=@Type ");
  44. }
  45. if (!string.IsNullOrEmpty(searchModel.C_ID))
  46. {
  47. sql.Append(" and C_ID=@Id ");
  48. }
  49. sql.Append(" order by D_CreateOn desc ");
  50. IEnumerable<LGS_LargeScreenTemplateViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<LGS_LargeScreenTemplateViewModel>(DbContext.Database, sql.ToString(), parameters);
  51. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  52. if (recordItemlist.Count()==1&& recordItemlist.First() == null)
  53. {
  54. recordItemlist = null;
  55. }
  56. return Task.FromResult(searchModel.IsPagination ? recordItemlist?.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  57. }
  58. }
  59. }