Ejemplo n.º 1
0
        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()));
            }
        }
Ejemplo n.º 2
0
        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)));
                }
            }
        }