public IHttpActionResult TryAGroup([FromBody] int groupId) { return(Authorized(token => { try { _finderService.TryAGroup(token, groupId); return (Ok()); } catch (Exception e) { _logger.Error("Could not generate request", e); switch (e.Message) { case "User already has request": throw new HttpResponseException(HttpStatusCode.Conflict); case "User already a member": throw new HttpResponseException(HttpStatusCode.NotAcceptable); default: throw new HttpResponseException(new ApiErrorDto("Try a group request failed", e).HttpResponseMessage); } } })); }