public async Task <IActionResult> Get([FromBody] TopicGetViewModel model) { try { var response = await _service.GetTopic(User, model, ModelState); return(response.JsonResult()); } catch (Exception error) { _logger.Error(error); return(BadRequest(StandardResponse.ForError())); } }
public async Task <StandardResponse> GetTopic(ClaimsPrincipal identity, TopicGetViewModel model, ModelStateDictionary modelState) { if (!modelState.IsValid) { return(modelState.StandardError()); } using (var db = new ServiceDb()) { using (var user = await _userService.Become(db, identity)) { var result = !string.IsNullOrWhiteSpace(model.TopicName) ? await _topicService.RequireTopic(db, user, model.TopicName) : await _topicService.GetTopic(db, user, model.TopicId); return(StandardResponse.For(new TopicViewModel(result))); } } }