Пример #1
0
    public async Task <ObjectResult <QuizResponse> > Update(int quizId, QuizUpdateRequest request)
    {
        var quiz = await _quizRepository.GetQuiz(quizId);

        if (quiz == null)
        {
            return(new ObjectResult <QuizResponse> {
                Errors = new[] { "Couldn't find quiz this quiz" }
            });
        }

        _quizRepository.Update(quiz);

        quiz = _mapper.Map <Quiz>(request);

        if (await _quizRepository.SaveChangesAsync())
        {
            _cache.Set($"Quiz {quizId}", quiz);
            _cache.Remove($"Quizzes");
            return(new ObjectResult <QuizResponse> {
                Success = true, Found = true, Object = _mapper.Map <QuizResponse>(quiz)
            });
        }
        return(new ObjectResult <QuizResponse> {
            Found = true, Errors = new[] { "Action didn't affect any rows" }
        });
    }
        public HttpResponseMessage Update(QuizUpdateRequest req)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            qService.Update(req);
            SuccessResponse response = new SuccessResponse();

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
Пример #3
0
    public async Task <ActionResult <QuizResponse> > Put(int id, QuizUpdateRequest request)
    {
        var updateResponse = await _quizService.Update(id, request);

        if (!updateResponse.Success)
        {
            if (!updateResponse.Found)
            {
                return(NotFound(updateResponse.Errors));
            }
            return(BadRequest(updateResponse.Errors));
        }
        return(updateResponse.Object);
    }
Пример #4
0
 public void Update(QuizUpdateRequest req)
 {
     dataProvider.ExecuteNonQuery(
         "Quizzes_update",
         delegate(SqlParameterCollection parameter)
     {
         parameter.AddWithValue("@id", req.Id);
         parameter.AddWithValue("@question", req.Question);
         parameter.AddWithValue("@answer", req.Answer);
         parameter.AddWithValue("@answers", JsonConvert.SerializeObject(req.Answers));
         parameter.AddWithValue("@subject", req.Subject);
         parameter.AddWithValue("@answer_type", req.AnswerType);
     });
 }