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(""));
        }