public function findAll($filters = array(), $options = array())
 {
     $data = array();
     if (OrganizationMapper::getTypeByOrgId(self::$organizationId) === OrgServiceProviderModel::ORG_TYPE) {
         if (isset($filters['filterList']) && $filters['filterList'] instanceof \App_ListFilter) {
             $data['filterList'] = $filters['filterList'];
         } else {
             $data['filterList'] = new \App_ListFilter();
         }
         $data['paging'] = $options;
         $itemData = $this->_findAllEricsson($data);
     } else {
         $itemData = $this->_findAllCustomerEricsson();
     }
     $items = array();
     foreach ($itemData['items'] as $id => $data) {
         $items[$id] = new Model\PreBillModel($data);
     }
     $result = new Model\ListResultModel();
     $result->setItems($items);
     if (isset($itemData['count'])) {
         $result->setCount($itemData['count']);
     }
     return $result;
 }
 /**
  * @return ModelAbstract[]
  */
 public function getItems()
 {
     if ($this->get('items') === null) {
         $this->_iterateItems();
     }
     return parent::getItems();
 }
 public function findAll($filters = array(), $options = array())
 {
     $orgId = isset($filters['customerId']) ? $filters['customerId'] : self::$organizationId;
     $filters['extraFields'] = array('customer_id' => OrganizationMapper::cleanOrgId($orgId));
     $itemData = $this->_findAllEricsson($filters);
     $items = array();
     foreach ($itemData['items'] as $id => $data) {
         $items[$id] = new Model\CommercialGroupModel($data);
     }
     $result = new Model\ListResultModel();
     $result->setItems($items);
     if (isset($itemData['count'])) {
         $result->setCount($itemData['count']);
     }
     return $result;
 }
 public function findAll(array $filters = array(), array $options = array())
 {
     $data = array();
     $data['extraFields'] = array('service_provider' => OrganizationMapper::cleanOrgId(self::$organizationId));
     if (isset($filters['filterList']) && $filters['filterList'] instanceof \App_ListFilter) {
         $data['filterList'] = $filters['filterList'];
     } else {
         $data['filterList'] = new \App_ListFilter();
         $data['filterList']->addExtraData('type', 'stock');
     }
     $data['filterList']->addExtraData('service_provider', self::$organizationId);
     $data['paging'] = $options;
     $itemData = $this->_findAllEricsson($data);
     $items = array();
     foreach ($itemData['items'] as $id => $data) {
         $items[] = new Model\SimModel($data);
     }
     $result = new Model\ListResultModel();
     $result->setItems($items);
     if (isset($itemData['count'])) {
         $result->setCount($itemData['count']);
     }
     return $result;
 }
示例#5
0
 public function findLocations(\App_ListFilter $filterList, $numRows = 1000)
 {
     $methodName = 'locationList';
     /**
      * @var $proto \Application\Proto\Inventory\LocationListQuery
      */
     $proto = $this->_createProto($methodName);
     if (!$filterList->getCursor()) {
         $this->_findAllEricsson(array('filterList' => $filterList));
         $filterList->reset();
         if (!$filterList->getCursor()) {
             throw new InvalidArgumentException('Listing sims locations: Invalid query.');
         }
     }
     $proto->setHandler($filterList->getCursor());
     $proto->setMaxNumRows($numRows);
     /**
      * @var $response \Application\Proto\Inventory\LocationListQuery\Response
      */
     $response = $this->_sendRequest($methodName, array('protoMessage' => $proto));
     $this->_checkGetResponse($response, true);
     $result = new Model\ListResultModel();
     $result->setCount(0);
     $responseLocationList = $response->getResponse();
     if ($responseLocationList) {
         $items = $responseLocationList->getRows();
         $its = array();
         foreach ($items as $id => $data) {
             $data = $data->serialize(new Codec\PhpArray());
             $data = $this->_mapEricssonModelToModel($data);
             $its[$id] = new SimModel($data);
         }
         $result->setItems($its);
         if ($responseLocationList->getNumRows() !== null) {
             $result->setCount($responseLocationList->getNumRows());
         }
     }
     return $result;
 }
 public function findAll(array $data = array())
 {
     if (!isset($data['filterList']) || !$data['filterList'] instanceof \App_ListFilter || !$data['filterList']->isValid()) {
         throw new InvalidArgumentException("Filter is not valid.");
     }
     $itemData = $this->_findAllEricsson($data);
     $items = array();
     if (!empty($itemData['items'])) {
         foreach ($itemData['items'] as $data) {
             $report = new ReportModel($data);
             if ($report->type === ReportModel::CHARGES_DETAIL && isset($report->hasMoneyInfo) && ($report->hasMoneyInfo && !\App::getUserLogged()->monetaryDataAccess || !$report->hasMoneyInfo && \App::getUserLogged()->monetaryDataAccess)) {
                 continue;
             }
             $items[] = new ReportModel($data);
         }
     } else {
         \App::log()->info("Report without items (Ericsson empty list)");
     }
     $result = new ListResultModel();
     $result->setItems($items);
     if (isset($itemData['count'])) {
         $result->setCount(count($items));
     }
     return $result;
 }
 /**
  *
  */
 public function findAll($filters = array(), $options = array())
 {
     $data = array();
     if (isset($filters['filterList']) && $filters['filterList'] instanceof \App_ListFilter) {
         $data['filterList'] = $filters['filterList'];
     } else {
         $data['filterList'] = new \App_ListFilter();
     }
     $filterList = $data['filterList'];
     $filterList->addExtraData('organizationId', self::$organizationId);
     if (isset($options['maxFirstPages'])) {
         $data['maxFirstPages'] = $options['maxFirstPages'];
         unset($options['maxFirstPages']);
     }
     $data['paging'] = $options;
     if (!isset($data['paging']['count'])) {
         $data['paging']['count'] = static::DEFAULT_ITEMS_PER_PAGE;
     }
     if ($filterList->getGrouping() == null || $filterList->getGroup() && !$filterList->getHighlighting()) {
         $iter = new SimIterator($data);
         $result = new StreamResultModel();
         $result->setIterator($iter);
         return $result;
     }
     $dataList = $this->_findAllEricsson($data);
     if (isset($dataList['items'])) {
         $items = $dataList['items'];
         foreach ($items as $id => $data) {
             $items[$id] = new SimModel($data);
         }
         $result = new Model\ListResultModel();
         $result->setItems($items);
         if ($dataList['count'] !== null) {
             $result->setCount($dataList['count']);
         }
         return $result;
     } else {
         $result = new Model\GroupListModel();
         foreach ($dataList as $group) {
             if (isset($group['label'])) {
                 $groupModel = new Model\GroupResultModel();
                 $groupModel->setLabel($group['label']);
                 $groupModel->setCount(isset($group['count']) ? $group['count'] : 0);
                 $items = array();
                 if (!empty($group['items'])) {
                     $items = $group['items'];
                     foreach ($items as $id => $data) {
                         $items[$id] = new SimModel($data);
                     }
                 }
                 $groupModel->setItems($items);
                 $result->addGroup($groupModel);
             }
         }
         return $result;
     }
 }
 public function findAll($filters = array(), $options = array())
 {
     $service = $this->getEricssonService();
     $methodName = self::METHOD_NAME_LIST;
     try {
         /** @var $proto SupList\Customer\WorkgroupListRead */
         $proto = $this->_createProto($methodName, $service);
         $paging = $this->_createQueryPaging($options);
         $proto->setQueryPaging($paging);
         $orgId = isset($filters['parentId']) ? $filters['parentId'] : null;
         $customerId = $this->_generateCustomerId($orgId);
         $proto->setId($customerId);
         /** @var $response SupList\Customer\WorkgroupListResponse*/
         $response = $this->_sendRequest($methodName, array('protoMessage' => $proto), $service);
     } catch (Exception $e) {
         \App::log()->CRIT($e);
         throw $e;
     }
     // Response ok?
     $isOk = $this->_checkGetResponse($response, true);
     $items = array();
     $result = new Model\ListResultModel();
     if ($isOk) {
         foreach ($response->getWorkgroupDataList() as $data) {
             $data = $data->serialize(new PhpArray());
             $data = $this->_mapProtoModelToModel($data);
             $items[] = new Model\SupervisionGroupModel($data);
         }
         if ($response->getPagesNumber()) {
             $result->setCount($response->getPagesNumber());
         }
     }
     $result->setItems($items);
     return $result;
 }