protected function _updateEricsson(Model\RestrictionModel $restrictions)
 {
     $methodName = self::METHOD_NAME_UPDATE;
     try {
         $proto = $this->_createProto($methodName);
         $createData = new Restrictions\RestrictionsData();
         $proto->setData($createData);
         $mappedData = $this->_mapModelToEricssonModel($restrictions->exportData());
         $createData->parse($mappedData, new \DrSlump\Protobuf\Codec\PhpArray());
         $proto->setId($mappedData['id']);
         $response = $this->_sendRequest($methodName, array('protoMessage' => $proto));
     } catch (Exception $e) {
         \App::log()->CRIT($e);
     }
     $this->_checkPostResponse($response);
     if ($response->getResult()->getCode() == 0 && $response->getResult()->getReasonCode()) {
         $data = array('reason' => $response->getResult()->getReason(), 'code' => $response->getResult()->getReasonCode() ?: $response->getResult()->getCode());
         throw new EricssonException($response->getResult()->getReason(), $data, null, 304);
     }
     $restrictions->setId($mappedData['id']);
     return $restrictions->getId();
 }
 protected function _changeRestriction(\Application\Proto\SubscriptionSelect $sims, \Application\Model\RestrictionModel $restriction, $watcher)
 {
     $methodName = self::METHOD_NAME_CHANGE_RESTRICTION;
     /**
      * @var  $proto \Application\Proto\Inventory\ChangeRestrictionsQuery
      */
     $proto = $this->_createProto($methodName);
     $proto->setSubscriptions($sims);
     $restrictionMapper = RestrictionMapper::getInstance();
     $mappedData = $restrictionMapper->_mapModelToEricssonModel($restriction->exportData());
     $proto->parse($mappedData, new \DrSlump\Protobuf\Codec\PhpArray());
     // Return the transaction ID
     return $this->_sendAsyncRequest($methodName, $proto, $sims, array(), $watcher);
 }