public async Task <ActionResult <CarOwner> > PostCarOwner(CarOwner carOwner) { _context.Update(carOwner); await _context.SaveChangesAsync(); //_context.CarOwners.Update(carOwner); //await _context.SaveChangesAsync(); return(CreatedAtAction("GetCarOwner", new { id = carOwner.Id }, carOwner)); }
public async Task <IActionResult> PutVehicle(int id, Vehicle vehicle) { if (id != vehicle.Id) { return(BadRequest()); } _context.Update(vehicle); //_context.Entry(vehicle).State = EntityState.Modified; //IEnumerable<EntityEntry> unchangedEntities = _context.ChangeTracker.Entries().Where(x => x.State == EntityState.Unchanged); //foreach (EntityEntry ee in unchangedEntities) //{ // ee.State = EntityState.Modified; //} try { await _context.SaveChangesAsync(); } catch (Exception e) { if (!VehicleExists(id)) { return(NotFound()); } else { _logger.LogError(e.ToString()); throw; } } return(NoContent()); }
public async Task <IActionResult> PutOffense(int id, Offense offense) { if (id != offense.Id) { return(BadRequest()); } _offenseService.CreateOffense(offense); //_context.Entry(offense).State = EntityState.Modified; _context.Update(offense); var deleteList = _context.VehicleOffenses.Where(t => !offense.CarDriver.VehicleOffenses.Contains(t) && t.CarDriver != null).ToList(); //var deleteList = _context.VehicleOffenses.Where(t => !offense.CarDriver.VehicleOffenses.Exists(x => x.Id == t.Id) && t.CarDriver != null).ToList(); foreach (var d in deleteList) { _context.VehicleOffenses.Where(s => s.Id == d.Id).First().CarDriver = null; } try { await _context.SaveChangesAsync(); } catch (Exception e) { if (!OffenseExists(id)) { return(NotFound()); } else { _logger.LogError(e.ToString()); throw; } } return(NoContent()); }
public async Task <IActionResult> PutDriverLicense(int id, DriverLicense driverLicense) { if (id != driverLicense.Id) { return(BadRequest()); } //_context.Update(driverLicense); //_context.SaveChanges(); //_context.Attach(driverLicense); //_context.Entry(driverLicense).State = EntityState.Modified; //foreach (var item in driverLicense.Categories) //{ // _context.Entry(item).State = EntityState.Added; //} //driverLicense.Categories.ForEach(a => driverLicense.ActivitityTravels.Add(new ActivityTravel() { Activity = a, Travel = travel })); //_context.AttachRange(driverLicense.Categories); //_context.DriverLicenses.Update(driverLicense); //var newCategories = _context.Categories.Where(t => !driverLicense.Categories.Contains(t)).ToList(); //foreach (var n in newCategories) //{ // driverLicense.Categories = newCategories; //} _context.Attach(driverLicense); var deleteList = _context.TakeStrokes.Where(t => !driverLicense.TakeStrokes.Contains(t) && t.DriverLicense != null).ToList(); foreach (var d in deleteList) { _context.TakeStrokes.Where(s => s.Id == d.Id).First().DriverLicense = null; } var deleteListCategories = _context.Categories.Where(t => !driverLicense.Categories.Contains(t) && t.DriverLicenses.Count != 0).ToList(); foreach (var d in deleteListCategories) { var foundLicense = _context.DriverLicenses.Where(s => s.Id == driverLicense.Id) .Include(s => s.Categories) .First(); foundLicense.Categories.Remove(d); //_context.Categories.Where(s => s.Id == d.Id).First().DriverLicenses.ForEach(t=>{ // if (t.Id == driverLicense.Id) t.= null; } foreach (var item in driverLicense.Categories) { var cats = _context.DriverLicenses.Where(t => t.Id == id && !t.Categories.Contains(item)).ToList(); if (cats.Count != 0) { _context.Entry(item).State = EntityState.Added; } } _context.Update(driverLicense); try { _context.SaveChanges(); } catch (Exception e) { if (!DriverLicenseExists(id)) { return(NotFound()); } else { _logger.LogError(e.ToString()); throw; } } return(NoContent()); }