public async Task<IHttpActionResult> Post([FromBody]SearchViewModel search) { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } var results = new SearchResultsViewModel(); if (search.IncludePosts) { results.Posts = await GetPosts(search.Query, search.Threshold, search.Skip); } if (search.IncludeComments) { results.Comments = await GetComments(search.Query, search.Threshold, search.Skip); } if (search.IncludeUsers) { results.Users = await GetUsers(search.Query, search.Threshold, search.Skip); } return Ok(results); } catch (Exception ex) { _errorSignaler.SignalFromCurrentContext(ex); return BadRequest(); } }