TsysMessageFileRepository.cs 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using Org.BouncyCastle.Crypto;
  2. using Ropin.Inspection.Model;
  3. using Ropin.Inspection.Model.Entities;
  4. using Ropin.Inspection.Repository.SYS.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.SYS
  11. {
  12. public class TsysMessageFileRepository : RepositoryBase<TSYS_MessageFile, string>, ITsysMessageFileRepository
  13. {
  14. public TsysMessageFileRepository(InspectionDbContext dbContext) : base(dbContext)
  15. {
  16. }
  17. /// <summary>
  18. /// IdList和messageCode值传一个
  19. /// </summary>
  20. /// <param name="IdList">根据多个ID删除</param>
  21. /// <param name="messageCode">根据消息ID删除</param>
  22. /// <returns></returns>
  23. public Task<bool> DeleteMultitByID(List<string> IdList,string messageCode)
  24. {
  25. MySqlConnector.MySqlParameter[] parameters = null;
  26. if (IdList!=null&& IdList.Count>0)
  27. {
  28. string idSre=string.Join("','", IdList);
  29. string sql = $" DELETE from TSYS_MessageFile where C_ID in ('{idSre}') ";
  30. int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
  31. bool result = iResult > 0;
  32. return Task.FromResult(result);
  33. }
  34. else
  35. {
  36. parameters= new[] { new MySqlConnector.MySqlParameter("code", messageCode) };
  37. string sql = $" DELETE from TSYS_MessageFile where C_MessageCode=@code; ";
  38. int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
  39. bool result = iResult > 0;
  40. return Task.FromResult(result);
  41. }
  42. }
  43. public Task<IEnumerable<MessageFileViewModel>> GetList(TsysMessageFileSearchModel searchModel)
  44. {
  45. MySqlConnector.MySqlParameter[] parameters = new[] {
  46. new MySqlConnector.MySqlParameter("Status", searchModel.C_Status),
  47. new MySqlConnector.MySqlParameter("id", searchModel.C_ID),
  48. new MySqlConnector.MySqlParameter("messageCode", searchModel.C_MessageCode)
  49. };
  50. StringBuilder sql = new StringBuilder();
  51. sql.Append(@" select * from TSYS_MessageFile ");
  52. if (!string.IsNullOrEmpty(searchModel.C_Status))
  53. {
  54. sql.Append(" where C_Status=@Status ");
  55. }
  56. else
  57. {
  58. sql.Append(" where C_Status!='0' ");
  59. }
  60. if (!string.IsNullOrEmpty(searchModel.C_ID))
  61. {
  62. sql.Append(" and C_ID=@id ");
  63. }
  64. if (searchModel.C_MessageCode != null)
  65. {
  66. sql.Append(" and C_MessageCode=@messageCode ");
  67. }
  68. sql.Append(" order by D_CreateOn desc ");
  69. IEnumerable<MessageFileViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<MessageFileViewModel>(DbContext.Database, sql.ToString(), parameters);
  70. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  71. if (searchModel.TotalCount == 0)
  72. {
  73. recordItemlist = new List<MessageFileViewModel>();
  74. }
  75. return Task.FromResult(searchModel.IsPagination ? recordItemlist.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  76. }
  77. }
  78. }