public function executeAsyncCargarDetalle(sfWebRequest $request) { $idProducto = $request->getParameter('idProducto'); $numeroPedido = $request->getParameter('numeroPedido'); $cantidad = $request->getParameter('cantidad'); $pedido = Restaurant::getInstance()->buscarPedidoPorNumero($numeroPedido); if ($pedido == null) { //titat excep } else { $producto = Restaurant::getInstance()->buscarProductoPorId($idProducto); if ($producto == null) { //tirar excep } else { $detalle = $pedido->buscarProducto($producto); if ($detalle != null) { $cantidadAux = $detalle->getCantidad() + $cantidad; $detalle->setCantidad($cantidadAux); $detalle->save(); } else { $detalle = new Detalle(); $detalle->setProducto($producto); $detalle->setCantidad($cantidad); //$detalle->save(); $pedido->agregarDetalle($detalle); $pedido->save(); } $json = $pedido->getJson(); return $this->renderText($json->getString()); } } }