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