コード例 #1
0
        public static ReadContestResponse MapContestStorageToReadContestResponse(ContestStorage contestStorage)
        {
            if (contestStorage == null)
            {
                return(null);
            }

            return(new ReadContestResponse
            {
                Id = contestStorage.Id,
                CreatedAt = contestStorage.CreatedAt,
                Topic = contestStorage.Topic,
                Closed = contestStorage.Closed,
                Voters = contestStorage.Voters,
                Winner = contestStorage.Winner
            });
        }
コード例 #2
0
        public async Task UpdateAsync(string id, ContestStorage contestStorage)
        {
            var contestUpdateBuilder = Builders <ContestStorage> .Update;

            var updateValues = new List <UpdateDefinition <ContestStorage> >();

            if (contestStorage.Voters != null)
            {
                updateValues.Add(contestUpdateBuilder.Set(x => x.Voters, contestStorage.Voters));
            }
            if (contestStorage.Closed != null)
            {
                updateValues.Add(contestUpdateBuilder.Set(x => x.Closed, contestStorage.Closed));
            }
            if (contestStorage.Winner != null)
            {
                updateValues.Add(contestUpdateBuilder.Set(x => x.Winner, contestStorage.Winner));
            }

            var pictureUpdate = contestUpdateBuilder.Combine(updateValues);

            await _contestCollection.UpdateOneAsync(x => x.Id == id, pictureUpdate);
        }
コード例 #3
0
        public async Task <string> CreateAsync(ContestStorage contestStorage)
        {
            await _contestCollection.InsertOneAsync(contestStorage);

            return(contestStorage.Id);
        }