DevBoxRepository.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Ropin.Inspection.Model.Entities;
  2. using Ropin.Inspection.Model.SearchModel.DEV;
  3. using Ropin.Inspection.Model.ViewModel.DEV;
  4. using Ropin.Inspection.Repository.DEV.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.DEV
  11. {
  12. public class DevBoxRepository : RepositoryBase<TDEV_DevBox, string>, IDevBoxRepository
  13. {
  14. public DevBoxRepository(InspectionDbContext DbContext) : base(DbContext)
  15. {
  16. }
  17. public Task<bool> DeleteBYDevStoreCode(string devStoreCode)
  18. {
  19. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("devStoreCode", devStoreCode) };
  20. string sql = "DELETE FROM TDEV_DevBox where C_DevStoreCode=@devStoreCode ";
  21. int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
  22. return Task.FromResult(true);
  23. }
  24. public Task<IEnumerable<DevBoxViewModel>> GetConditionAsync(DevBoxSearchModel searchModel)
  25. {
  26. MySqlConnector.MySqlParameter[] parameters = new[] {
  27. new MySqlConnector.MySqlParameter("DevStoreCode", searchModel.C_DevStoreCode),
  28. new MySqlConnector.MySqlParameter("BoxCode", searchModel.C_BoxCode),
  29. new MySqlConnector.MySqlParameter("Id ", searchModel.C_ID)
  30. };
  31. StringBuilder sql = new StringBuilder();
  32. sql.Append(@"select * from (
  33. select b.*,d.C_Name as C_BoxName,s.C_Name as C_DevStoreName
  34. from TDEV_DevBox b
  35. LEFT JOIN TDEV_Box d on (b.C_BoxCode=d.C_ID)
  36. LEFT JOIN TDEV_DevStore s on (b.C_DevStoreCode=s.C_ID)
  37. ) tab where 1=1");
  38. if (!string.IsNullOrEmpty(searchModel.C_DevStoreCode))
  39. {
  40. sql.Append(" and C_DevStoreCode=@DevStoreCode ");
  41. }
  42. if (!string.IsNullOrEmpty(searchModel.C_BoxCode))
  43. {
  44. sql.Append(" and C_BoxCode=@BoxCode ");
  45. }
  46. if (!string.IsNullOrEmpty(searchModel.C_ID))
  47. {
  48. sql.Append(" and C_ID=@Id ");
  49. }
  50. sql.Append(" order by D_CreateOn desc ");
  51. IEnumerable<DevBoxViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<DevBoxViewModel>(DbContext.Database, sql.ToString(), parameters);
  52. //searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  53. if (recordItemlist.Count() == 1 && recordItemlist.First() == null)
  54. {
  55. recordItemlist = null;
  56. }
  57. //return Task.FromResult(searchModel.IsPagination ? recordItemlist.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  58. return Task.FromResult(recordItemlist);
  59. }
  60. }
  61. }