TpntStoreOrgRepository.cs 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using Ropin.Inspection.Model;
  2. using Ropin.Inspection.Model.Entities;
  3. using Ropin.Inspection.Model.ViewModel;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Ropin.Inspection.Repository
  10. {
  11. public class TpntStoreOrgRepository : RepositoryBase<TPNT_StoreOrg, Guid>, ITpntStoreOrgRepository
  12. {
  13. public TpntStoreOrgRepository(InspectionDbContext dbContext) : base(dbContext)
  14. {
  15. }
  16. public Task<bool> DeleteByOrgStoreCodeAsync(Guid orgCode,string storeCode)
  17. {
  18. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("orgCode", orgCode),
  19. new MySqlConnector.MySqlParameter("storeCode", storeCode)};
  20. string sql = "DELETE FROM TPNT_StoreOrg where C_OrgCode = @orgCode and C_StoreCode =@storeCode ";
  21. int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
  22. if(iResult>0)
  23. return Task.FromResult(true);
  24. else
  25. return Task.FromResult(false);
  26. }
  27. public Task<IEnumerable<TpntStoreViewModel>> GetStoresByOrgCodeAsync(TpntStoreSearchModel searchModel)
  28. {
  29. MySqlConnector.MySqlParameter[] parameters = new[] {
  30. new MySqlConnector.MySqlParameter("orgCode", searchModel?.orgCode),
  31. new MySqlConnector.MySqlParameter("Status", searchModel?.C_Status)
  32. };
  33. StringBuilder sql = new StringBuilder();
  34. sql.Append(@"SELECT B.C_Type AS OrgTypeCode, C.*,D.C_Name AS TypeName,G.C_Code AS ProvCode,G.C_Name AS ProvName,F.C_Code AS CityCode,F.C_Name AS CityName,E.C_Code AS AreaCode,E.C_Name AS AreaName,A.C_Type AS StoreOrgType FROM TPNT_StoreOrg A
  35. INNER JOIN TSYS_Org B ON B.C_Code = A.C_OrgCode
  36. INNER JOIN TPNT_Store C ON C.C_Code = A.C_StoreCode
  37. INNER JOIN TPNT_Type D ON D.C_Code = C.C_TypeCode
  38. INNER JOIN TBDM_Area E on E.C_Code = C.C_AreaCode
  39. INNER JOIN TBDM_City F ON F.C_Code = E.C_CityCode
  40. INNER JOIN TBDM_Prov G ON G.C_Code = F.C_ProvCode
  41. WHERE A.C_OrgCode = @orgCode AND B.C_Status = '1' AND D.C_Status = '1' ");
  42. if (!string.IsNullOrEmpty(searchModel.C_Status))
  43. {
  44. sql.Append(" AND C.C_Status = @Status ");
  45. }
  46. else
  47. {
  48. sql.Append(" AND C.C_Status = '1' ");
  49. }
  50. if (!string.IsNullOrEmpty(searchModel.C_Name))
  51. {
  52. sql.Append($" AND C.C_Name like '%{searchModel.C_Name}%' ");
  53. }
  54. sql.Append(" group by C.C_ID order BY C.I_Sort asc");
  55. IEnumerable<TpntStoreViewModel> result = EntityFrameworkCoreExtensions.GetList<TpntStoreViewModel>(DbContext.Database, sql.ToString(), parameters);
  56. return Task.FromResult(result);
  57. }
  58. public Task<IEnumerable<TpntStoreViewModel>> GetAllStoresAsync()
  59. {
  60. string sql = @"SELECT B.C_Type AS OrgTypeCode, C.*,D.C_Name AS TypeName,G.C_Code AS ProvCode,G.C_Name AS ProvName,F.C_Code AS CityCode,F.C_Name AS CityName,E.C_Code AS AreaCode,E.C_Name AS AreaName FROM TPNT_StoreOrg A
  61. INNER JOIN TSYS_Org B ON B.C_Code = A.C_OrgCode
  62. INNER JOIN TPNT_Store C ON C.C_Code = A.C_StoreCode
  63. INNER JOIN TPNT_Type D ON D.C_Code = C.C_TypeCode
  64. INNER JOIN TBDM_Area E on E.C_Code = C.C_AreaCode
  65. INNER JOIN TBDM_City F ON F.C_Code = E.C_CityCode
  66. INNER JOIN TBDM_Prov G ON G.C_Code = F.C_ProvCode
  67. WHERE B.C_Status = '1' AND C.C_Status = '1' AND D.C_Status = '1' group by C.C_ID order BY C.I_Sort asc ";
  68. IEnumerable<TpntStoreViewModel> result = EntityFrameworkCoreExtensions.GetList<TpntStoreViewModel>(DbContext.Database, sql, null);
  69. return Task.FromResult(result);
  70. }
  71. public Task<IEnumerable<TsysOrganizeViewModel>> GetOrgsByStoreCodeAsync(string storeCode)
  72. {
  73. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("storeCode", storeCode)};
  74. string sql = @"SELECT B.* FROM TPNT_StoreOrg A
  75. INNER JOIN TSYS_Org B ON B.C_Code = A.C_OrgCode
  76. INNER JOIN TPNT_Store C ON C.C_Code = A.C_StoreCode
  77. WHERE A.C_StoreCode = @storeCode AND B.C_Status = '1' AND C.C_Status = '1'";
  78. IEnumerable<TsysOrganizeViewModel> result = EntityFrameworkCoreExtensions.GetList<TsysOrganizeViewModel>(DbContext.Database, sql, parameters);
  79. return Task.FromResult(result);
  80. }
  81. }
  82. }