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; }
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; }