public Result Edit(int id, QuizAnswerEditAdminDto dto) { dto.Id = id; var result = _validatorEdit.ValidateResult(dto); if (!result.Success) { return(result); } if (dto.Id > 0) { var entity = _quizAnswerRepository.AsNoTracking.FirstOrDefault(w => w.Id == dto.Id); if (entity == null) { return(result.SetError("There are error for update record. Please try again with refresh.")); } var query = _quizAnswerRepository.AsNoTracking.Where(x => x.QuizQuestionId == entity.QuizQuestionId); if (dto.IsCorrectAnswer) { query.Update(u => new QuizAnswer { IsCorrectAnswer = false }); } Mapper.Map <QuizAnswer>(dto, entity); _quizAnswerRepository.Update(entity); _unitOfWork.Commit(); result.Id = entity.Id; } else { var entity = Mapper.Map <QuizAnswer>(dto); _quizAnswerRepository.Insert(entity); _unitOfWork.Commit(); result.Id = entity.Id; } QuizAnswerCacheManager.ClearCache(); return(result.SetSuccess(Messages.RecordSaved)); }
public IHttpActionResult Put(int id, [FromBody] QuizAnswerEditAdminDto dto) { return(Result(_quizAnswerAdminService.Edit(id, dto))); }