public ActionResult HandleChanges(StoreDataHandler handler) { List <Driver> drivers = handler.ObjectData <Driver>(); string errorMessage = null; if (handler.Action == StoreAction.Create) { foreach (Driver created in drivers) { driver_repository.InsertObject(created); } } else if (handler.Action == StoreAction.Destroy) { foreach (Driver deleted in drivers) { driver_repository.DeleteObject(deleted.DRIVER_ID); } } else if (handler.Action == StoreAction.Update) { foreach (Driver updated in drivers) { try { driver_repository.UpdateObject(updated); } catch (Exception e) { errorMessage = e.Message; } } } if (errorMessage != null) { return(this.Store(errorMessage)); } return(handler.Action != StoreAction.Destroy ? ( ActionResult )this.Store(drivers) : ( ActionResult )this.Content("")); }