public function actionManage()
 {
     $model = new Datoimpositivo('search');
     $model->unsetAttributes();
     if (isset($_GET['Datoimpositivo'])) {
         $model->setAttributes($_GET['Datoimpositivo']);
     }
     $this->render('manage', array('model' => $model));
 }
 public function actionUpdateSociedad($id, $opendialog = false)
 {
     $model = $this->loadModel($id);
     // validar con isset por si viene desde create con boton de guardar  y agregar domicilio profesionales
     if (isset($model->iddatoimpositivo)) {
         $model_datoimpositivo = $model->iddatoimpositivo0;
     } else {
         $model_datoimpositivo = new Datoimpositivo();
     }
     $model_domicilioprofesional = new Domicilioprofesional();
     $model_domicilioprofesional->identidad = $model->identidad;
     $model_contacto = new Contacto();
     // Genero el modelo de participacion para la sociedad y le paso como
     // parametro el id de la entidad
     $modelparticipacion = new Participacion();
     $modelparticipacion->idsociedad = $model->identidad;
     if (isset($_POST['Sociedad'])) {
         $model->setAttributes($_POST['Sociedad']);
         try {
             $transac = Yii::app()->db->beginTransaction();
             if ($model->validate()) {
                 // se valida el modelo sociedad que es obligatorio
                 // si se cargan datos impositivos
                 if (strlen($_POST['Datoimpositivo']['cuit']) != 0) {
                     $model_datoimpositivo->setAttributes($_POST['Datoimpositivo']);
                     if ($model_datoimpositivo->save()) {
                         $model->iddatoimpositivo = $model_datoimpositivo->iddatoimpositivo;
                     } else {
                         throw new Exception("Hubo un error al grabar datos impositivos de la sociedad");
                     }
                 }
                 // Guardo el modelo
                 if ($model->save()) {
                     $transac->commit();
                     // segun boton de grabar o agregar domicilios
                     if (isset($_POST['savebutton'])) {
                         $this->redirect(array('manageSociedad'));
                     } else {
                         // se usó boton domicilio, se redirige  a la vista update para cargar domicilios
                         $this->redirect(array('updateSociedad', 'id' => $model->identidad, "opendialog" => true));
                         // redirecciona a update para permitir cargar contactos
                     }
                 }
             }
         } catch (Exception $e) {
             $transac->rollback();
             $model->addError('', $e->getMessage());
         }
     }
     $this->render('update_sociedad', array('model' => $model, 'model_domicilioprofesional' => $model_domicilioprofesional, 'model_datoimpositivo' => $model_datoimpositivo, 'model_contacto' => $model_contacto, 'modelparticipacion' => $modelparticipacion, 'opendialog' => $opendialog));
 }