public function buildModel($row) { $carro = new Carro(); $carro->setIdCarro($row[str_replace(":", "", Carro::FIELD_IDCARRO)]); $carro->setIdUsuario($row[str_replace(":", "", Carro::FIELD_IDUSUARIO)]); $carro->setMarca($row[str_replace(":", "", Carro::FIELD_MARCA)]); $carro->setNome($row[str_replace(":", "", Carro::FIELD_NOME)]); return $carro; }
public function sincronizar() { if (isset($_GET['idUsuario']) && isset($_GET['carros'])) { $carros = json_decode($_GET['carros']); $idUsuario = $_GET['idUsuario']; $carroDao = new CarroDao($this->registry); if (sizeof($carros) > 0) { $meusCarros = $carroDao->selectByIdUsuario($idUsuario); $novosCarros = array(); if (sizeof($meusCarros) > 0) { foreach ($carros as $key => $value) { if (isset($value->nome) && $value->nome != null && !empty($value->nome)) { $found = false; foreach ($meusCarros as $k => $v) { if (strtolower($value->nome) == strtolower($v['nome'])) { $found = true; } } if (!$found) { $novosCarros[] = $value; } } } } else { foreach ($carros as $key => $value) { if (isset($value->nome) && $value->nome != null && !empty($value->nome)) { $novosCarros[] = $value; } } } // verifica se precisa atualizar carro if (sizeof($novosCarros) > 0) { foreach ($novosCarros as $key => $value) { $insertCarro = new Carro(); $insertCarro->setIdUsuario($idUsuario); $insertCarro->setNome($value->nome); $insertCarro->setMarca(Carro::checkMarca($insertCarro->getNome())); $carroDao->insert($insertCarro); } } } $retorno = $carroDao->selectByIdUsuario($idUsuario); foreach ($retorno as $key => $value) { $marca = Carro::checkMarca($value['nome']); if ($value['marca'] != $marca) { $carro = $carroDao->buildModel($value); $carro->setMarca($marca); $carroDao->update($carro); } } $retorno = $this->returnToJson(1, $carroDao->selectByIdUsuario($idUsuario)); } else { $retorno = $this->returnToJson(0, "informações invalidas."); } $this->registry->template->retorno = $retorno; $this->registry->template->show("pattern_index"); }