public async Task <string> SaveFighterAsync(Fighter fighter, Stream image, string contentType, FighterType type) { var fighterId = Guid.NewGuid().ToString(); await _storage.UploadObjectAsync(_bucketName, fighterId, contentType, image, new UploadObjectOptions { PredefinedAcl = PredefinedObjectAcl.PublicRead }); var entity = new Entity { Key = _keyFactory.CreateKey(fighterId), ["name"] = fighter.Name, ["type"] = type.ToString().ToLower(), ["vote"] = 0 }; using (var transaction = await _db.BeginTransactionAsync()) { transaction.Upsert(entity); await transaction.CommitAsync(); } return(fighterId); }
public async Task <IEnumerable <string> > GetFightersIdsByTypeAsync(FighterType type) { var query = new Query(Kind) { Filter = Filter.Equal("type", type.ToString().ToLower()), Projection = { "__key__" } }; var queryResults = await _db.RunQueryAsync(query); return(queryResults.Entities.Select(entity => entity.Key.Path[0].Name).ToList()); }