protected function _deleteListEricsson(array $sims) { $methodName = static::METHOD_NAME_DELETE; $proto = $this->_createProto($methodName); $subs = new PB\SubscriptionSelect(); $subs->setSelectionType(PB\SubscriptionSelect\SelType::SUBSCRIPTION_LIST); foreach ($sims as $sim) { $subId = new PB\SubscriptionId(); $subId->setType(PB\SubscriptionId\IdType::ICC); $subId->setId($sim->getIcc()); $subs->addSubscriptions($subId); } $proto->setSelection($subs); $response = $this->_sendRequest($methodName, array('protoMessage' => $proto)); $this->_checkDeleteResponse($response); return true; }
protected function _generateSubscriptionSelect($data, $idType = SubscriptionId\IdType::ID, $watcher = null) { $subsSelect = new SubscriptionSelect(); if ($data instanceof \App_ListFilter) { $subsSelect->setSelectionType(SubscriptionSelect\SelType::HANDLER); if (!$data->getCursor()) { $this->_findAllEricsson(array('filterList' => $data)); $data->reset(); if (!$data->getCursor()) { throw new InvalidArgumentException('Invalid query.'); } } $subsSelect->addHandler($data->getCursor()); if ($watcher) { $watcher->params->count = $data->getOldCount(); } } else { if (is_array($data)) { $subsSelect->setSelectionType(SubscriptionSelect\SelType::SUBSCRIPTION_LIST); foreach ($data as $id) { if ($id instanceof \Application\Model\SimModel) { if ($id->getId()) { $id = $id->getId(); $type = SubscriptionId\IdType::ID; } else { if ($id->getIcc()) { $id = $id->getIcc(); $type = SubscriptionId\IdType::ICC; } else { if ($id->getImsi()) { $id = $id->getImsi(); $type = SubscriptionId\IdType::IMSI; } else { if ($id->getMsisdn()) { $id = $id->getMsisdn(); $type = SubscriptionId\IdType::MSISDN; } } } } } else { $type = $idType; } $subscription = new SubscriptionId(); $subscription->setType($type); $subscription->setId($id); $subsSelect->addSubscriptions($subscription); } if ($watcher) { $watcher->params->count = count($data); } } else { throw new InvalidArgumentException('Data must be an array or App_ListFilter'); } } return $subsSelect; }