website/Website/Data/UserRepository.cs

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());
}
}
}
}