public static function generate($array)
 {
     $event = new Event();
     $event->setType($array["type"]);
     $event->setParentClass(get_class($array["parent"]));
     $event->setParentId($array["parent"]->getId());
     //$event->setParentName($array["parent_name"]);
     switch ($array["type"]) {
         case "Inventory":
             $parent = $event->getParent();
             //create stockentry
             if (get_class($parent) == "Invoicedetail") {
                 $stockentry = StockTable::createStockOut(SettingsTable::fetch("default_warehouse_id"), $parent->getProductId(), $parent->getQty(), $parent->getInvoice()->getDate(), $parent);
             } else {
                 if (get_class($parent) == "Purchasedetail") {
                     $stockentry = StockTable::createStockIn(SettingsTable::fetch("default_warehouse_id"), $parent->getProductId(), $parent->getQty(), $parent->getPurchase()->getDate(), $parent);
                 }
             }
             $event->setChildClass("Stockentry");
             $event->setChildrenId($stockentry->getId());
             break;
     }
     $event->save();
 }