TsysRoleRepository.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Ropin.Inspection.Model;
  2. using Ropin.Inspection.Model.Entities;
  3. using Ropin.Inspection.Repository.Interface;
  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 TsysRoleRepository : RepositoryBase<TSYS_Role, Guid>, ITsysRoleRepository
  12. {
  13. public TsysRoleRepository(InspectionDbContext dbContext) : base(dbContext)
  14. {
  15. }
  16. public Task<IEnumerable<TsysRoleOrgLicenseViewModel>> GetBylicenseCodeAsync(string licenseCode,string status)
  17. {
  18. MySqlConnector.MySqlParameter[] parameters = new[] {
  19. new MySqlConnector.MySqlParameter("licenseCode", licenseCode),new MySqlConnector.MySqlParameter("status", status) };
  20. string sql = @"SELECT A.*,B.C_TypeCode AS LicenseTypeCode,B.C_Name AS LicenseName,C.C_Name AS OrgName,D.C_Name AS LicenseTypeName FROM TSYS_Role A
  21. LEFT JOIN TSYS_License B ON A.C_LicenseCode = B.C_Code
  22. LEFT JOIN TSYS_Org C ON C.C_LicenseCode = B.C_Code
  23. LEFT JOIN TSYS_LicenseType D ON D.C_Code = B.C_TypeCode
  24. WHERE B.C_Status = '1' AND C.C_Status = '1' AND D.C_Status = '1' ";
  25. if (!string.IsNullOrEmpty(licenseCode))
  26. {
  27. sql += " AND A.C_LicenseCode =@licenseCode ";
  28. }
  29. if (!string.IsNullOrEmpty(status))
  30. {
  31. sql += " AND A.C_Status =@status ";
  32. }
  33. //sql += " GROUP BY A.C_Code ORDER BY B.C_Name, C.C_Name";
  34. sql += " GROUP BY A.C_Code ORDER BY A.I_Sort";
  35. var contentlist = EntityFrameworkCoreExtensions.GetList<TsysRoleOrgLicenseViewModel>(DbContext.Database, sql, parameters);
  36. return Task.FromResult(contentlist);
  37. }
  38. }
  39. }