public override void Delete([FromODataUri] int key) { DbType entity = new RetrieveById <DbType>(UnitOfWork).Execute(key); if (entity == null) { var resp = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(string.Format("Entity with ID = {0} not found", key)) }; throw new HttpResponseException(resp); } try { new Delete <DbType>(UnitOfWork).Execute(entity); UnitOfWork.Commit(); } catch (DbUpdateConcurrencyException ex) { var message = "Database concurrency error detected. Entities may have been modified or deleted since entities were loaded. Please reload the entity to obtain the new values."; var resp = new HttpResponseMessage(HttpStatusCode.Conflict) { Content = new StringContent(message), ReasonPhrase = ex.Message, }; throw new HttpResponseException(resp); } }
protected override T GetEntityByKey([FromODataUri] int key) { T entity = new RetrieveById <T>(UnitOfWork).Execute(key); if (entity == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(entity); }
protected override ApiType GetEntityByKey([FromODataUri] int key) { DbType entity = new RetrieveById <DbType>(UnitOfWork).Execute(key); if (entity == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(ConvertToApiType(entity)); }