public async Task <IActionResult> UpdateMetadata([FromBody] QuestionMetadataUpdateViewModel model) { try { var response = await _service.UpdateQuestionMetadata(User, model, ModelState); return(response.JsonResult()); } catch (Exception error) { _logger.Error(error); return(StandardResponse.ForError().JsonResult()); } }
public async Task <StandardResponse> UpdateQuestionMetadata(ClaimsPrincipal identity, QuestionMetadataUpdateViewModel model, ModelStateDictionary modelState) { if (!modelState.IsValid) { return(modelState.StandardError()); } using (var db = new ServiceDb()) { using (var user = await _userService.Become(db, identity, null)) { var question = await _questionService.UpdateQuestionMetadata(db, user, new UpdateQuestionMeta() { QuestionId = model.QuestionId, RowVersion = model.RowVersion, Votes = model.Votes, Star = model.Star }); await db.SaveChangesAsync(); return(StandardResponse.For(QuestionMetaViewModel.From(question))); } } }