Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
        }