TdevDevSpotRepository.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Ropin.Inspection.Model;
  2. using Ropin.Inspection.Model.Entities;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace Ropin.Inspection.Repository
  9. {
  10. public class TdevDevSpotRepository : RepositoryBase<TDEV_DevSpot, Guid>, ITdevDevSpotRepository
  11. {
  12. public TdevDevSpotRepository(InspectionDbContext DbContext) : base(DbContext)
  13. {
  14. }
  15. public Task<int> DeleteByDevIdAsync(string devId)
  16. {
  17. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("devId", devId) };
  18. int result = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, "DELETE from TDEV_DevSpot WHERE C_DevStoreCode = @devId", parameters);
  19. return Task.FromResult(result);
  20. }
  21. public Task<IEnumerable<TdevDevSpotViewModel>> GetList(TdevDevSpotSearchModel searchModel)
  22. {
  23. MySqlConnector.MySqlParameter[] parameters = new[] {
  24. new MySqlConnector.MySqlParameter("devStoreCode", searchModel.C_DevStoreCode),
  25. new MySqlConnector.MySqlParameter("spotCode", searchModel.C_SpotCode),
  26. new MySqlConnector.MySqlParameter("Id", searchModel.C_ID)
  27. };
  28. StringBuilder sql = new StringBuilder();
  29. sql.Append(@" SELECT * FROM (
  30. SELECT ds.*,s.C_Name as C_SpotName FROM TDEV_DevSpot ds
  31. LEFT JOIN TISP_Spot s ON (ds.C_SpotCode=s.C_Code)
  32. ) tab WHERE 1=1
  33. ");
  34. if (!string.IsNullOrEmpty(searchModel.C_DevStoreCode))
  35. {
  36. sql.Append(" AND C_DevStoreCode=@devStoreCode ");
  37. }
  38. if (!string.IsNullOrEmpty(searchModel.C_SpotCode))
  39. {
  40. sql.Append(" AND C_SpotCode=@spotCode ");
  41. }
  42. if (!string.IsNullOrEmpty(searchModel.C_ID))
  43. {
  44. sql.Append(" AND C_ID=@Id ");
  45. }
  46. sql.Append(" order by D_CreateOn desc ");
  47. IEnumerable<TdevDevSpotViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<TdevDevSpotViewModel>(DbContext.Database, sql.ToString(), parameters);
  48. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  49. if (searchModel.TotalCount == 0)
  50. {
  51. recordItemlist = new List<TdevDevSpotViewModel>();
  52. }
  53. return Task.FromResult(searchModel.IsPagination ? recordItemlist.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  54. }
  55. }
  56. }