public function nuevoAction() { $request = $this->getRequest(); //Intanciamos nuestro formulario $pacienteForm = new PacienteForm(); if ($request->isPost()) { //Si hicieron POST //Instanciamos nuestro filtro $pacienteFilter = new PacienteFilter(); //Le ponemos nuestro filtro a nuesto fromulario $pacienteForm->setInputFilter($pacienteFilter->getInputFilter()); //Le ponemos los datos a nuestro formulario $pacienteForm->setData($request->getPost()); //Validamos nuestro formulario if ($pacienteForm->isValid()) { //Instanciamos un nuevo objeto de nuestro objeto Paciente $paciente = new Paciente(); //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Paciente foreach ($pacienteForm->getData() as $pacienteKey => $pacienteValue) { if ($pacienteKey != 'pacientefacturacion_rfc') { $paciente->setByName($pacienteKey, $pacienteValue, \BasePeer::TYPE_FIELDNAME); } } //Guardamos en nuestra base de datos $paciente->save(); // Si nos mandan RFC if ($request->getPost()->pacientefacturacion_rfc != null) { $pacientefacturacion = new \Pacientefacturacion(); $pacientefacturacion->setIdpaciente($paciente->getIdpaciente()); $pacientefacturacion->setPacientefacturacionCalle($paciente->getPacienteCalle()); $pacientefacturacion->setPacientefacturacionNoexterior($paciente->getPacienteNoexterior()); $pacientefacturacion->setPacientefacturacionNointerior($paciente->getPacienteNointerior()); $pacientefacturacion->setPacientefacturacionColonia($paciente->getPacienteColonia()); $pacientefacturacion->setPacientefacturacionCiudad($paciente->getPacienteCiudad()); $pacientefacturacion->setPacientefacturacionCodigopostal($paciente->getPacienteCodigopostal()); $pacientefacturacion->setPacientefacturacionEstado($paciente->getPacienteEstado()); $pacientefacturacion->setPacientefacturacionPais($paciente->getPacientePais()); $pacientefacturacion->setPacientefacturacionRfc($request->getPost()->pacientefacturacion_rfc); $pacientefacturacion->save(); } //Agregamos un mensaje $this->flashMessenger()->addMessage('Paciente guardado exitosamente!'); $pacienteQuery = PacienteQuery::create()->filterByIdpaciente($paciente->getIdpaciente())->findOne(); return new ViewModel(array('pacienteQuery' => $pacienteQuery, 'pacienteForm' => $pacienteForm, 'flashMessages' => $this->flashMessenger()->getMessages())); //Redireccionamos a nuestro list //return $this->redirect()->toRoute('pacientes'); } } return new ViewModel(array('pacienteForm' => $pacienteForm)); }