// PUT api/projecttasks/5 public IHttpActionResult Put(int id, [FromBody] ProjectTaskStandaloneViewModel viewModel) { try { if (viewModel == null) { return(BadRequest(ModelState)); } var projectTask = _repository.GetProjectTask(id); var currentUser = GetCurrentUser(); if (projectTask.Project.UserId != currentUser.UserId) { return(Forbidden("You can only update project tasks for the current user.")); } ValidateViewModel(viewModel, _repository, currentUser); if (ModelState.IsValid) { viewModel.UpdateModel(projectTask, currentUser); _repository.SaveProjectTask(projectTask); return(NoContent()); } else { return(Error(ModelState)); } } catch (Exception exc) { return(InternalServerError(exc)); } }