public HttpResponseMessage GetObservations(HttpRequestMessage request, string sessionToken) { return(Execute(request, () => { try { ApplicationUser user = _sessionTokenService.GetUserByToken(sessionToken); Client[] clients = _clientService.GetClients(user); Observation[] observations = (from client in clients select client.Observations) .SelectMany(observation => observation) .ToArray(); bool observationsFound = observations != null && observations.Length > 0; var responseData = new { ObservationsFound = observationsFound, Observations = observations }; return request.CreateResponse(HttpStatusCode.OK, responseData); } catch (ArgumentException) { return request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Provided session token and/or client id do not match."); } })); }
public HttpResponseMessage LockAccount(HttpRequestMessage request, [FromBody] string sessionToken, [FromBody] long accountId) { return(Execute(request, () => { bool isLocked = false; try { ApplicationUser requestingUser = _tokenService.GetUserByToken(sessionToken); isLocked = _userService.TryLock(requestingUser, accountId); } catch (ArgumentException ex) { // Log message throw; } return request.CreateResponse(HttpStatusCode.OK, isLocked); })); }