protected async Task <T> QueryFirstAsync <T>(string sql, object parameters = null) { using (IDbConnection connection = new Npgsql.NpgsqlConnection(this.connectionString)) { try { connection.Open(); return(await connection.QueryFirstAsync <T>(sql, parameters)); } catch (Exception exc) { Console.WriteLine(exc); throw exc; } } }
public async Task <Tuple <string, string> > GetUserPasswordHash(string userEmail) { using (var conn = new Npgsql.NpgsqlConnection(_configService.GetValue(ConfigurationServiceWellKnownKeys.PostgresqlDbConnectionString))) { await conn.OpenAsync(); var result = await conn.QueryFirstAsync( "select id, passwordHash from campaign.\"user\" WHERE isdeleted = FALSE AND email = @Email", new { Email = userEmail } ); var row = result as IDictionary <string, object>; if (row == null) { return(null); } return(new Tuple <string, string>(row["id"].ToString(), row["passwordhash"].ToString())); } }