<?php

require_once('AbstractFactory.php');
require_once('Object/DataObject.php');
require_once('Model/Panel/General.php');
require_once('Model/Panel/Shipping.php');
require_once('Model/Panel/Coupons.php');
require_once('Model/Panel/Products.php');
require_once('Model/Panel/Orders.php');
require_once('Model/Panel/About.php');
require_once('Model/Panel/RefundRequest.php');
require_once('Model/Panel/Dispute.php');
require_once('Model/Panel/PaymentRequest.php');
require_once('Model/Panel/Configuration.php');
require_once('Model/Panel/OverView.php');
require_once('Model/Panel/Brand.php');
require_once('Model/Panel/StorePanel.php');




class PanelActionFactory extends AbstractFactory {
	
 private $dtObject;
 private $type="";	
 public  $queryAction;


 function __construct(DataObject $dtObject){

	
 	$this->dtObject = $dtObject;
   $this->type = $dtObject->getRequestType();
 


 }

 public function getFactoryObject(){
   
  if($this->type == "shipping"){

    $this->queryAction =  new Shipping($this->dtObject);

  }
  else if($this->type == "coupons"){

      $this->queryAction =  new Coupons($this->dtObject);
  }
  else if($this->type == "products"){

      $this->queryAction =  new Products($this->dtObject);
  }
  else if($this->type == "orders"){

      $this->queryAction =  new Orders($this->dtObject);
  }
  else if($this->type == "about"){

      $this->queryAction =  new About($this->dtObject);
  }
  else if($this->type == "refund"){

      $this->queryAction =  new RefundRequest($this->dtObject);
  }
  else if($this->type == "dispute"){

      $this->queryAction =  new Dispute($this->dtObject);
  }
  else if($this->type == "payment"){

      $this->queryAction =  new PaymentRequest($this->dtObject);
  }
  else if($this->type == "configuration"){

      $this->queryAction =  new Configuration($this->dtObject);
  }
  else if($this->type == "overview"){

      $this->queryAction =  new OverView($this->dtObject);
  }
  else if($this->type == "brand"){

      $this->queryAction =  new Brand($this->dtObject);
  }
  else if($this->type == "store"){

      $this->queryAction =  new StorePanel($this->dtObject);
  }
  
  return $this->queryAction;


 }


}






?>