protected function _mapToModel(array $data, $usePreset = true)
 {
     $data = parent::_mapToModel($data, $usePreset);
     if (isset($data['billingCycleStart']) && !is_array($data['billingCycleStart'])) {
         $regex = '/^\\-\\-\\-(?P<dayOfMonth>\\d{2,2})(?P<timezone>.*)$/';
         if (preg_match($regex, $data['billingCycleStart'], $matches)) {
             $tz = App_Util_Date::getTimezoneValue($matches['timezone']);
             $matches['dayOfMonth'] = intval($matches['dayOfMonth']);
             $enumService = Application\Service\EnumeratedService::getInstance();
             $timezones = $enumService->getEnum(Application\Service\EnumeratedService::TIME_ZONE_ENUM_NAME);
             foreach ($timezones as $exmpl) {
                 if ($exmpl['offset'] == $matches['timezone']) {
                     $tz = $exmpl['id'];
                     break;
                 }
             }
             $matches['timezone'] = $tz;
             $data['billingCycleStart'] = $matches;
         } else {
             $data['billingCycleStart'] = array();
         }
     }
     if (isset($data['defaultBillingAccount']['contact'])) {
         $data['defaultBillingAccount']['contactIsPrimaryContact'] = false;
     }
     if (isset($data['defaultBillingAccount']['address'])) {
         $data['defaultBillingAccount']['addressIsCompanyAddress'] = false;
     }
     if (isset($data['shippingAddress'])) {
         $data['shippingAddressIsCompanyAddress'] = false;
     }
     if (isset($data['billingContact'])) {
         $data['billingContactIsPrimaryContact'] = false;
     }
     if (isset($data['billingContactAddress'])) {
         $data['billingContactAddressIsCompanyAddress'] = false;
     }
     if (isset($data['primaryContactAddress'])) {
         $data['primaryContactAddressIsCompanyAddress'] = false;
     }
     if ($usePreset && !isset($data['parentId'])) {
         $data['parentId'] = \App::getOrgUserLogged()->getId();
     }
     return $data;
 }
 protected function _mapToModel(array $data, $usePreset = true)
 {
     $data = parent::_mapToModel($data, $usePreset);
     // Avoid repeated billing account names
     if (isset($data['billingAccountName'])) {
         $data['billingAccountName'] = trim($data['billingAccountName']);
     }
     return $data;
 }
 protected function _mapToModel(array $data, $usePreset = true)
 {
     $data = parent::_mapToModel($data, $usePreset);
     if (isset($data['simType'])) {
         if ($data['simType'] === '0') {
             $data['simType'] = SimModel::SIM_TYPE_GLOBAL;
         } elseif ($data['simType'] === '1') {
             $data['simType'] = SimModel::SIM_TYPE_LOCAL;
         }
     }
     return $data;
 }
 protected function _mapToModel(array $data, $usePreset = true)
 {
     $data = parent::_mapToModel($data, $usePreset);
     $limits = array('limitVoice', 'limitData', 'limitSms', 'limitTotal');
     $currencyId = \App::getOrgUserLogged()->currency;
     $currency = EnumeratedService::getInstance()->findCurrencyById($currencyId);
     $decimals = $currency['internalNumberOfDecimals'];
     foreach ($limits as &$limit) {
         if (isset($data[$limit]['value'])) {
             $data[$limit]['value'] = round($data[$limit]['value'] * pow(10, $decimals));
         }
     }
     return $data;
 }
 protected function _mapToModel(array $data, $usePreset = true)
 {
     $data = parent::_mapToModel($data, $usePreset);
     return $data;
 }
 protected function _mapToModel(array $data, $usePreset = true)
 {
     $data = parent::_mapToModel($data, $usePreset);
     if (isset($data['currency'])) {
         $currency = $this->enumSrv->findCurrencyById($data['currency']);
         $decimalsNumber = $currency["internalNumberOfDecimals"];
         $data = $this->_mapToModelCurrencies($data, $decimalsNumber);
     }
     $services = array('selfManagement', 'vpnService', 'applicationOriginatedSms', 'advancedSupervision', 'location', 'dca', 'dim');
     foreach ($services as $service) {
         if (isset($data[$service])) {
             $value = current(array_keys($this->_mapService, $data[$service]));
             if ($value) {
                 $data[$service] = $value;
             }
         }
     }
     if (isset($data['published'])) {
         $value = current(array_keys($this->_mapStatus, $data['published']));
         if ($value) {
             $data['published'] = $value;
         }
     }
     if (isset($data['supervisionLevel'])) {
         $value = current(array_keys($this->_mapKeepAlive, $data['supervisionLevel']));
         if ($value) {
             $data['supervisionLevel'] = $value;
         }
     }
     return $data;
 }