public async Task <IHttpActionResult> Put([FromODataUri] int PackageTypeID, PackageType item) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (PackageTypeID == item.PackageTypeID) { return(BadRequest()); } item.ObjectState = ObjectState.Modified; _service.Update(item); try { await _unitOfWorkAsync.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ItemExists(PackageTypeID)) { return(NotFound()); } throw; } return(Updated(item)); }