/**
  * Register any other events for your application.
  *
  * @param  \Illuminate\Contracts\Events\Dispatcher  $events
  * @return void
  */
 public function boot(DispatcherContract $events)
 {
     parent::boot($events);
     GenericContainer::creating(function ($genericContainer) {
         return $genericContainer->isCreating();
     });
     GenericContainer::saving(function ($genericContainer) {
         return $genericContainer->isSaving();
     });
     InboundOrder::creating(function ($inboundOrder) {
         return $inboundOrder->isCreating();
     });
     InboundOrderDetail::creating(function ($inboundOrderDetail) {
         return $inboundOrderDetail->isCreating();
     });
     Inventory::creating(function ($inventory) {
         return $inventory->isCreating();
     });
     Inventory::saving(function ($inventory) {
         return $inventory->isSaving();
     });
     Item::creating(function ($item) {
         return $item->isCreating();
     });
     JobExperience::creating(function ($jobExperience) {
         return $jobExperience->isCreating();
     });
     JobStatus::creating(function ($jobStatus) {
         return $jobStatus->isCreating();
     });
     Location::creating(function ($location) {
         return $location->isCreating();
     });
     Location::saving(function ($location) {
         return $location->isSaving();
     });
     Pallet::creating(function ($pallet) {
         return $pallet->isCreating();
     });
     Pallet::saving(function ($pallet) {
         return $pallet->isSaving();
     });
     PerformanceTally::creating(function ($performanceTally) {
         return $performanceTally->isCreating();
     });
     User::creating(function ($user) {
         return $user->isCreating();
     });
 }
 /**
  * IMPORTANT: Call this function name on the Controller to verify this action is allowed
  * Implement putInventoryIntoTote($inventoryID, $toteID)
  */
 public function putInventoryIntoTote($inventoryID, $toteID)
 {
     $inventory = Inventory::findOrFail($inventoryID);
     $tote = GenericContainer::findOrFail($toteID);
     $container = DB::connection(GenericContainer::CONNECTION_NAME)->table('container')->where('objectID', $inventoryID)->first();
     Log::info("Put Inventory {$inventoryID} into Tote {$toteID}");
     if (isset($container)) {
         $result = DB::connection(GenericContainer::CONNECTION_NAME)->table('container')->where('containerID', $container->containerID)->update(['parentID' => $toteID, 'objectID' => $inventoryID]);
         // $result === 1/true if the container was updated
         // $result === 0/false if no containers were updated
         if ($result === 1 or $result === 0) {
             return true;
         }
     } else {
         $result = Container::create(['parentID' => $toteID, 'objectID' => $inventoryID]);
         // $result == container object created
         if (isset($result) and get_class($result) == 'App\\vital3\\Container') {
             return true;
         }
     }
     Log::error('putInventoryIntoTote failed');
     //dd(__METHOD__.'('.__LINE__.')',compact('inventoryID','toteID','inventory','tote','container','result'));
     return ['putInventoryIntoTote failed'];
 }