Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- services.AddScoped<IUserRepository, UserRepository>();
- services.AddScoped<IXRepository, XRepository>();
- ... 40 more lines ...
- // IRepository.cs
- public interface IRepository
- {
- }
- // IUserRepository.cs
- public interface IUserRepository : IRepository
- {
- User ReadToken(string email, string password);
- }
- // BaseRepository.cs
- public class BaseRepository : IDisposable
- {
- protected IDbConnection PostgreSQL;
- public BaseRepository(IDbConnection postgreSQL)
- {
- PostgreSQL = postgreSQL;
- }
- public void Dispose()
- {
- }
- }
- // UserRepository.cs
- public class UserRepository : BaseRepository, IUserRepository
- {
- public UserRepository(IDbConnection postgreSQL) : base(postgreSQL)
- {
- }
- public User ReadToken(string email, string password)
- {
- object parameters;
- string sql;
- parameters = new
- {
- email,
- password
- };
- sql =
- @"
- SELECT
- user_id AS id,
- token
- FROM users
- WHERE
- email = @email AND
- password = CRYPT(@password, senha) AND
- active = TRUE;
- ";
- var user = base.PostgreSQL.Query<User>(sql, parameters).SingleOrDefault();
- if (user == null)
- throw new UnauthorizedException("User", "User not found.");
- return user;
- }
- }
- // UsersController.cs
- public class UsersController : ControllerBase
- {
- protected IUserRepository UserRepository;
- public UsersController(IUserRepository userRepository)
- {
- UserRepository = userRepository;
- }
- }
- // Startup.cs
- services.AddScoped<IRepository, BaseRepository>();
Add Comment
Please, Sign In to add comment