function postSavePayments() { $values = Request::all(); $values = json_decode(json_encode($values)); $serviceOrder = fil_service_order::find($values->serviceOrder); if ($serviceOrder == null) { return Response::json(array('success' => false, 'data' => 'Orden de servicio no encontrada')); } $serviceOrder->ser_discount_month = $values->discount; $serviceOrder->ser_outlay_total = $values->totalOutlay; $serviceOrder->ser_iva = $values->iva; if (!$serviceOrder->save()) { return Response::json(array('success' => false, 'data' => 'Error al guardar la orden de servicio')); } $paymentScheme = $serviceOrder->paymentScheme; $paymentScheme->pay_amount_kind = $values->amountKind; $paymentScheme->pay_amount_cash = $values->amountCash; $paymentScheme->pay_number_payments = $values->numberPayments; if (!$paymentScheme->save()) { return Response::json(array('success' => false, 'data' => 'Error al guardar el esquema de pagos')); } if (property_exists($values, 'paymentsold')) { foreach ($values->paymentsold as $value) { $payment = fil_payment_date::find($value->pda_id); $payment->pda_amount = $value->pda_amount; $payment->pda_date = $value->pda_date; $payment->pda_is_fixed = $value->pda_is_fixed; if (!$payment->save()) { return Response::json(array('success' => false, 'data' => 'Error al guardar los pagos')); } } } if (property_exists($values, 'paymentsnew')) { foreach ($values->paymentsnew as $value) { $paymentDate = new fil_payment_date(); $paymentDate->pda_fk_payment_data = $paymentScheme->pay_id; $paymentDate->pda_date = $value->pda_date; $paymentDate->pda_amount = $value->pda_amount; $paymentDate->pda_is_fixed = $value->pda_is_fixed; $paymentDate->pda_status = "pendiente"; if (!$paymentDate->save()) { return Response::json(array('success' => false, 'data' => 'Error al guardar los pagos')); } } } return $this->jsonResponse($values->serviceOrder); }