public static function saveCorProduto() { $CorProdutoDao = new CorProdutoDao(); $nome_cor = isset($_POST['nome_cor']) ? $_POST['nome_cor'] : ''; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : ''; $validator = new DataValidator(); $validator->set_msg('O nome da cor/sabor é obrigatório')->set('nome_cor', $nome_cor)->is_required(); $validator->set_msg('Informe ao menos um empreendimento')->set('empreendimentos', $empreendimentos)->is_arr(); if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $emp_cadastrados = $CorProdutoDao->CorProdutoExists($nome_cor, $empreendimentos); $change = is_bool($emp_cadastrados) ? true : !$emp_cadastrados['change']; $id_cor_produto = is_bool($emp_cadastrados) ? null : $emp_cadastrados['id_cor_produto']; $emp_cadastrados = is_bool($emp_cadastrados) ? $emp_cadastrados : $emp_cadastrados['empreendimentos']; if (is_bool($emp_cadastrados) && $emp_cadastrados == true) { $validator->_errors['nome_cor'][] = 'Está cor já está cadastrada'; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $empreendimentos = $emp_cadastrados; $last_id = $CorProdutoDao->saveCorProduto($nome_cor, $empreendimentos, $change, $id_cor_produto); if ($last_id) { Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $last_id)))->send(); } else { Flight::halt(500, 'erro ao inserir cor'); } }
public static function requestSaveCor() { try { $id_empreendimento = $_POST['id_empreendimento']; $cor = $_POST['cor']; $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $PrestaShopDao = new PrestaShopDao($id_empreendimento); $CorProdutoDao = new CorProdutoDao(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_cor_produto'; $ReferenciaIntegracaoTO->id_item = null; $ReferenciaIntegracaoTO->id_item_referencia = $cor['id_attribute']; $ReferenciaIntegracaoTO->tipo = 'cor'; $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento; $referencia = $ReferenciaIntegracaoDao->refExists($ReferenciaIntegracaoTO, true); if ($referencia) { $obj = new stdClass(); $obj->nome_cor = $cor['name']; if (!$CorProdutoDao->updateCor($obj, 'id=' . $referencia['id_item'])) { throw new Exception('Erro ao atualizar cor', 1); } } else { $last_id = $CorProdutoDao->saveCorProduto($cor['name'], array($id_empreendimento), true); if (!is_numeric($last_id)) { throw new Exception('Erro ao cadastrar cor', 1); } $ReferenciaIntegracaoTO->id_item = $last_id; if (!$ReferenciaIntegracaoDao->save($ReferenciaIntegracaoTO)) { throw new Exception('Erro ao criar referencia no sistema', 1); } } } catch (Exception $e) { $log = new KLogger("logs/logErrorPrestaShop.txt", KLogger::DEBUG); $log->LogError($e->getMessage() . '- file:' . $e->getFile() . ' - line:' . $e->getLine()); $log->LogDebug(json_encode($_POST)); $log->LogJunp(); Flight::halt(500, $e->getMessage()); } }