Guest User

Untitled

a guest
Mar 13th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. services.AddScoped<IUserRepository, UserRepository>();
  2. services.AddScoped<IXRepository, XRepository>();
  3. ... 40 more lines ...
  4.  
  5. // IRepository.cs
  6. public interface IRepository
  7. {
  8. }
  9.  
  10. // IUserRepository.cs
  11. public interface IUserRepository : IRepository
  12. {
  13. User ReadToken(string email, string password);
  14. }
  15.  
  16. // BaseRepository.cs
  17. public class BaseRepository : IDisposable
  18. {
  19. protected IDbConnection PostgreSQL;
  20.  
  21. public BaseRepository(IDbConnection postgreSQL)
  22. {
  23. PostgreSQL = postgreSQL;
  24. }
  25.  
  26. public void Dispose()
  27. {
  28. }
  29. }
  30.  
  31. // UserRepository.cs
  32. public class UserRepository : BaseRepository, IUserRepository
  33. {
  34. public UserRepository(IDbConnection postgreSQL) : base(postgreSQL)
  35. {
  36. }
  37.  
  38. public User ReadToken(string email, string password)
  39. {
  40. object parameters;
  41. string sql;
  42.  
  43. parameters = new
  44. {
  45. email,
  46. password
  47. };
  48.  
  49. sql =
  50. @"
  51. SELECT
  52. user_id AS id,
  53. token
  54. FROM users
  55. WHERE
  56. email = @email AND
  57. password = CRYPT(@password, senha) AND
  58. active = TRUE;
  59. ";
  60.  
  61. var user = base.PostgreSQL.Query<User>(sql, parameters).SingleOrDefault();
  62.  
  63. if (user == null)
  64. throw new UnauthorizedException("User", "User not found.");
  65.  
  66. return user;
  67. }
  68. }
  69.  
  70. // UsersController.cs
  71. public class UsersController : ControllerBase
  72. {
  73. protected IUserRepository UserRepository;
  74.  
  75. public UsersController(IUserRepository userRepository)
  76. {
  77. UserRepository = userRepository;
  78. }
  79. }
  80.  
  81. // Startup.cs
  82. services.AddScoped<IRepository, BaseRepository>();
Add Comment
Please, Sign In to add comment