public async Task <Ngo> GetNgo(string ngoUsername) { using IDbConnection connection = _sqlConnectionFactory.CreateConnection(); connection.Open(); var sql = new QueryBuilder() .SelectColumns("ngos", NgosTableColumns) .Where("Username = @Username") .Build(); var ngoEntity = await connection.QueryFirstOrDefaultAsync <NgoEntity>(sql, new { Username = ngoUsername }); if (ngoEntity == null) { throw new StorageErrorException($"Ngo entity with username {ngoUsername} was not found", 404); } var location = await _locationStore.GetLocation(ngoUsername); var ngo = ToNgo(ngoEntity, location); return(ngo); }
public async Task <Campaign> GetCampaign(string campaignId) { using IDbConnection connection = _sqlConnectionFactory.CreateConnection(); connection.Open(); var sql = new QueryBuilder() .SelectColumns(CampaignEntity.TableName, CampaignsTableColumns) .Where("Id = @Id") .Build(); var campaignEntity = await connection.QueryFirstOrDefaultAsync <CampaignEntity>(sql, new { Id = campaignId }); if (campaignEntity == null) { throw new StorageErrorException($"Campaign entity with Id {campaignId} was not found", 404); } var location = await _locationStore.GetLocation(campaignEntity.Username); return(ToCampaign(campaignEntity, location)); }