コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }