コード例 #1
0
        /// <summary>
        /// Create a single answer.
        /// </summary>
        /// <param name="dto"> Object to be created. </param>
        /// <param name="userId"> Id of the user creating an answer. </param>
        /// <returns> Created answer. </returns>
        public async Task <DtoResponseResult <DtoPollAnswer> > CreateAsync(DtoPollAnswer dto, int userId)
        {
            var entity = _mapper.Map <PollAnswer>(dto);

            entity.CreatedById = userId;
            entity.CreatedDate = DateTime.UtcNow;
            entity.Correctness ??= false;

            var entityResponse = _unitOfWork.PollAnswerRepository.Create(entity);
            await _unitOfWork.SaveChangesAsync();

            return(DtoResponseResult <DtoPollAnswer> .CreateResponse(
                       _mapper.Map <DtoPollAnswer>(entityResponse)));
        }
コード例 #2
0
        /// <summary>
        /// Update given answer.
        /// </summary>
        /// <param name="dto"> Updated version of an object. </param>
        /// <param name="userId"> Id of the user updating an answer. </param>
        /// <returns> Created object (dto).</returns>
        public async Task <DtoResponseResult <DtoPollAnswer> > UpdateAsync(DtoPollAnswer dto, int userId)
        {
            var entity = await _unitOfWork.PollAnswerRepository.FindAsync(p => p.Id == dto.Id);

            if (entity == null)
            {
                return(DtoResponseResult <DtoPollAnswer> .FailedResponse("Answer not found"));
            }

            _mapper.Map(dto, entity);
            entity.UpdatedDate = DateTime.UtcNow;
            entity.UpdatedById = userId;

            var entityResponse = _unitOfWork.PollAnswerRepository.Update(entity, dto.Id);
            await _unitOfWork.SaveChangesAsync();

            return(DtoResponseResult <DtoPollAnswer> .CreateResponse(
                       _mapper.Map <DtoPollAnswer>(entityResponse)));
        }