25 lines
No EOL
651 B
C#
25 lines
No EOL
651 B
C#
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Dapper;
|
|
using Website.Data.States;
|
|
using Website.Models;
|
|
|
|
namespace Website.Data {
|
|
public class UserRepository {
|
|
private readonly IDatabaseProvider _dbProvider;
|
|
|
|
public UserRepository(IDatabaseProvider dbProvider) {
|
|
_dbProvider = dbProvider;
|
|
}
|
|
|
|
public async Task<User> GetUserByEmail(string email) {
|
|
const string query = "SELECT * FROM users WHERE user_email=@email";
|
|
|
|
using (var connection = _dbProvider.NewConnection()) {
|
|
connection.Open();
|
|
var result = await connection.QueryAsync<UserState>(query, new {email});
|
|
return new User(result.Single());
|
|
}
|
|
}
|
|
}
|
|
} |