AppStartPageRepository.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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.AppStartPage;
  8. using Microsoft.Extensions.Options;
  9. namespace GxPress.Repository.Implement.AppStartPage
  10. {
  11. public class AppStartPageRepository : IAppStartPageRepository
  12. {
  13. private readonly Repository<Entity.tede2.AppStartPage.AppStartPage> _repository;
  14. private readonly IMapper _mapper;
  15. private readonly string _connectionString;
  16. private readonly string _databaseTypestr;
  17. public AppStartPageRepository(IOptionsMonitor<DatabaseOptions> dbOptionsAccessor, IMapper mapper)
  18. {
  19. _databaseTypestr = dbOptionsAccessor.CurrentValue.DatabaseType;
  20. _connectionString = dbOptionsAccessor.CurrentValue.ConnectionString;
  21. var databaseType =
  22. StringUtils.ToEnum<DatabaseType>(dbOptionsAccessor.CurrentValue.DatabaseType, DatabaseType.MySql);
  23. var database = new Database(databaseType, dbOptionsAccessor.CurrentValue.ConnectionString);
  24. _repository = new Repository<Entity.tede2.AppStartPage.AppStartPage>(database);
  25. _mapper = mapper;
  26. }
  27. public IDatabase Database => _repository.Database;
  28. public string TableName => _repository.TableName;
  29. public List<TableColumn> TableColumns => _repository.TableColumns;
  30. /// <summary>
  31. /// 获取 APP启动 1IOS 2Android
  32. /// </summary>
  33. /// <param name="appTypeId"></param>
  34. /// <returns></returns>
  35. public async Task<Entity.tede2.AppStartPage.AppStartPage> GetAsync(int appTypeId)
  36. {
  37. return await _repository.GetAsync(Q.Where(nameof(Entity.tede2.AppStartPage.AppStartPage.AppTypeId), appTypeId).Where(nameof(Entity.tede2.AppStartPage.AppStartPage.IsDisable), false).OrderByDesc(nameof(Entity.tede2.AppStartPage.AppStartPage.CreatedDate)));
  38. }
  39. /// <summary>
  40. /// 查询
  41. /// </summary>
  42. /// <returns></returns>
  43. public async Task<IEnumerable<Entity.tede2.AppStartPage.AppStartPage>> GetAllAsync()
  44. {
  45. return await _repository.GetAllAsync(Q.OrderByDesc(nameof(Entity.tede2.AppStartPage.AppStartPage.CreatedDate)));
  46. }
  47. /// <summary>
  48. /// 删除
  49. /// </summary>
  50. /// <param name="id"></param>
  51. /// <returns></returns>
  52. public async Task<bool> DeleteAsync(int id)
  53. {
  54. return await _repository.DeleteAsync(id);
  55. }
  56. /// <summary>
  57. /// 修改
  58. /// </summary>
  59. /// <param name="model"></param>
  60. /// <returns></returns>
  61. public async Task<bool> UpdateAsync(Entity.tede2.AppStartPage.AppStartPage model)
  62. {
  63. return await _repository.UpdateAsync(model);
  64. }
  65. /// <summary>
  66. /// 添加
  67. /// </summary>
  68. /// <param name="model"></param>
  69. /// <returns></returns>
  70. public async Task<bool> InsertAsync(Entity.tede2.AppStartPage.AppStartPage model)
  71. {
  72. return await _repository.InsertAsync(model) > 0;
  73. }
  74. }
  75. }