UserLoginRepository.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using Datory;
  4. using GxPress.Common.AppOptions;
  5. using GxPress.Common.Tools;
  6. using GxPress.Entity;
  7. using GxPress.Repository.Interface;
  8. using Microsoft.Extensions.Options;
  9. namespace GxPress.Repository.Implement
  10. {
  11. public class UserLoginRepository : IUserLoginRepository
  12. {
  13. private readonly Repository<UserLogin> _repository;
  14. public UserLoginRepository(IOptionsMonitor<DatabaseOptions> dbOptionsAccessor)
  15. {
  16. var databaseType =
  17. StringUtils.ToEnum<DatabaseType>(dbOptionsAccessor.CurrentValue.DatabaseType, DatabaseType.MySql);
  18. //_connectionString = dbOptionsAccessor.CurrentValue.ConnectionString;
  19. var database = new Database(databaseType, dbOptionsAccessor.CurrentValue.ConnectionString);
  20. _repository = new Repository<UserLogin>(database);
  21. }
  22. public IDatabase Database => _repository.Database;
  23. public string TableName => _repository.TableName;
  24. public List<TableColumn> TableColumns => _repository.TableColumns;
  25. /// <summary>
  26. /// 添加
  27. /// </summary>
  28. /// <param name="model"></param>
  29. /// <returns></returns>
  30. public async Task<int> InsertAsync(UserLogin model)
  31. {
  32. return await _repository.InsertAsync(model);
  33. }
  34. public async Task<UserLogin> GetUserAsync(int userId)
  35. {
  36. return await _repository.GetAsync(Q.Where(nameof(UserLogin.UserId), userId).OrderByDesc(nameof(UserLogin.CreatedDate)));
  37. }
  38. }
  39. }