public virtual async Task <IHttpActionResult> Put(int id, [FromBody] BasePutRequest <TEntity> request) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } TEntity entity; try { entity = (TEntity)request.ToEntity(this.Context); } catch (NotImplementedException) { entity = (TEntity)await request.ToEntityAsync(this.Context); } if (entity == null) { return(this.NotFound()); } if (id != entity.Id) { return(this.BadRequest()); } this.Repository.Update(entity); try { await this.Repository.CommitAsync(); } catch (DbEntityValidationException) { this.Validate(entity); return(this.BadRequest(ModelState)); } catch (DbUpdateConcurrencyException) { if (!this.EntityExists(id)) { return(this.NotFound()); } return(this.Conflict()); } return(this.StatusCode(HttpStatusCode.NoContent)); }
public override async Task <IHttpActionResult> Put(int id, [FromBody] BasePutRequest <Group> request) { return(await base.Put(id, request)); }