UserMiddleRepository.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using AutoMapper;
  4. using Datory;
  5. using GxPress.Common.AppOptions;
  6. using GxPress.Common.Tools;
  7. using GxPress.Repository.Interface.UserMiddle;
  8. using Microsoft.Extensions.Options;
  9. using SqlKata;
  10. namespace GxPress.Repository.Implement.UserMiddle
  11. {
  12. /// <summary>
  13. /// 用户中间件
  14. /// </summary>
  15. public class UserMiddleRepository : IUserMiddleRepository
  16. {
  17. private readonly Repository<Entity.UserMiddle.UserMiddle> _repository;
  18. private readonly IMapper _mapper;
  19. public UserMiddleRepository(IOptionsMonitor<DatabaseOptions> dbOptionsAccessor, IMapper mapper)
  20. {
  21. var databaseType = StringUtils.ToEnum<DatabaseType>(dbOptionsAccessor.CurrentValue.DatabaseType, DatabaseType.MySql);
  22. var database = new Database(databaseType, dbOptionsAccessor.CurrentValue.ConnectionString);
  23. _repository = new Repository<Entity.UserMiddle.UserMiddle>(database);
  24. _mapper = mapper;
  25. }
  26. public IDatabase Database => _repository.Database;
  27. public string TableName => _repository.TableName;
  28. public List<TableColumn> TableColumns => _repository.TableColumns;
  29. /// <summary>
  30. /// 添加
  31. /// </summary>
  32. /// <param name="userMiddle"></param>
  33. /// <returns></returns>
  34. public async Task<int> InsertAsync(Entity.UserMiddle.UserMiddle userMiddle)
  35. {
  36. return await _repository.InsertAsync(userMiddle);
  37. }
  38. public async Task<bool> UpdateAsync(Entity.UserMiddle.UserMiddle userMiddle)
  39. {
  40. return await _repository.UpdateAsync(userMiddle);
  41. }
  42. public async Task<bool> UpdateAsync(SqlKata.Query query)
  43. {
  44. return await _repository.UpdateAsync(query) > 0;
  45. }
  46. public async Task<Entity.UserMiddle.UserMiddle> GetAsync(SqlKata.Query query)
  47. {
  48. return await _repository.GetAsync(query);
  49. }
  50. public async Task<Entity.UserMiddle.UserMiddle> GetAsync(int id)
  51. {
  52. return await _repository.GetAsync(id);
  53. }
  54. public async Task<IEnumerable<Entity.UserMiddle.UserMiddle>> GetAllAsync(SqlKata.Query query)
  55. {
  56. return await _repository.GetAllAsync(query);
  57. }
  58. public async Task<int> CountAsync(SqlKata.Query query)
  59. {
  60. return await _repository.CountAsync(query);
  61. }
  62. public async Task<bool> ExistsAsync(SqlKata.Query query)
  63. {
  64. return await _repository.ExistsAsync(query);
  65. }
  66. public async Task<bool> DeleteAsync(Query query)
  67. {
  68. return await _repository.DeleteAsync(query)>0;
  69. }
  70. }
  71. }