Esempio n. 1
0
        public HttpResponseMessage Put(UserModel user)
        {
            try {
                var savedUser = _userRepository.Get(ObjectId.Parse(user.Id));
                savedUser.SetName(user.Name);
                _userRepository.Update(savedUser);
            } catch (NullReferenceException ex) {
                return Request.CreateResponse(HttpStatusCode.Gone, ex.Message);
            } catch (Exception ex) {
                return Request.CreateResponse(
                    HttpStatusCode.InternalServerError, ex.Message);
            }

            var response = Request.CreateResponse(HttpStatusCode.OK);
            response.Headers.Add(
                "Link",
                this.GetLinkHeader<TodoModel[]>(
                    Request,
                    response,
                    "/todos"));
            response.Headers.Add("Type", typeof(UserModel).Name);
            return response;
        }
Esempio n. 2
0
        public HttpResponseMessage Post(UserModel user)
        {
            var newUser = _userFactory.CreateUser(user.Name);

            try {
                newUser = _userRepository.Add(newUser);
            } catch (Exception ex) {
                return Request.CreateResponse(
                    HttpStatusCode.InternalServerError, ex.Message);
            }

            var response = Request.CreateResponse(HttpStatusCode.Created);
            response.Headers.Location =
                new Uri(
                    string.Format("{0}/{1}", Request.RequestUri.AbsoluteUri, newUser.Id));
            response.Headers.Add(
                "Link",
                this.GetLinkHeader<TodoModel[]>(
                    Request,
                    response,
                    newUser.Id.ToString(),
                    "/todos"));
            response.Headers.Add("Type", typeof(UserModel).Name);
            return response;
        }