public async Task<IHttpActionResult> Post( Car car )
 {
     if ( ModelState.IsValid == false )
     {
         return BadRequest( ModelState );
     }
     Car inserted = await CarService.Create( car );
     if ( inserted.Id == 0 )
     {
         return BadRequest();
     }
     return Created( inserted );
 }
        public async Task<Car> Update( Car updated )
        {
            if ( updated == null )
            {
                return null;
            }

            Car existing = await Db.Cars.FindAsync( updated.Id );
            if ( existing == null )
            {
                return null;
            }

            Db.Entry( existing ).CurrentValues.SetValues( updated );
            await Db.SaveChangesAsync();
            return existing;
        }
        public async Task<IHttpActionResult> Put( [FromODataUri] int key, Car car )
        {
            if ( car == null ||
                 ModelState.IsValid == false )
            {
                return BadRequest();
            }

            Car original = await CarService.Find( key );

            if ( original == null )
            {
                return NotFound();
            }

            await CarService.Update( car );

            return Updated( car );
        }
 public async Task<int> Delete( Car delete )
 {
     Db.Cars.Remove( delete );
     return await Db.SaveChangesAsync();
 }
 public async Task<Car> Create( Car newCar )
 {
     Db.Cars.Add( newCar );
     await Db.SaveChangesAsync();
     return newCar;
 }