/**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker::create();
     $samples_temp = [];
     for ($i = 0; $i < 100; $i++) {
         $idPregrado = $faker->unique->numberBetween($min = 1, $max = 100);
         $postgrado = Postgrado::find($idPregrado);
         $postulanteTemp = Postulante::find($idPregrado);
         if ($postgrado === null) {
             $samples_temp[] = ['postulante' => $idPregrado];
             $postulanteTemp->tipo_estudio = 'Pregrado';
             $postulanteTemp->save();
         }
     }
     Pregrado::insert($samples_temp);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker::create();
     $pregrado = Pregrado::all();
     $semestre = array('semestre_1', 'semestre_2', 'semestre_3', 'semestre_4', 'otro');
     $samples_temp = [];
     foreach ($pregrado as $item) {
         $desde = $faker->dateTimeBetween($startDate = '-1 years', $endDate = 'now');
         $semestre_temp = $semestre[$faker->numberBetween($min = 0, $max = count($semestre) - 1)];
         if ($semestre_temp === 'otro') {
             $samples_temp[] = ['postulante' => $item->postulante, 'anio' => $faker->numberBetween($min = 1990, $max = 2016), 'semestre' => $semestre_temp, 'desde' => $desde, 'hasta' => $faker->dateTimeBetween($startDate = $desde, $endDate = 'now'), 'financiamiento' => $faker->numberBetween($min = 1, $max = 3), 'carrera' => $faker->numberBetween($min = 1, $max = 500)];
         } else {
             $samples_temp[] = ['postulante' => $item->postulante, 'anio' => $faker->numberBetween($min = 1990, $max = 2016), 'semestre' => $semestre_temp, 'desde' => '', 'hasta' => '', 'financiamiento' => $faker->numberBetween($min = 1, $max = 3), 'carrera' => $faker->numberBetween($min = 1, $max = 500)];
         }
     }
     PrePostulacionUniversidad::insert($samples_temp);
 }
 /**
  * Run the database seeds. 
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker::create();
     $pregrado = Pregrado::all();
     $samples_temp_no_uach = [];
     $samples_temp_uach = [];
     foreach ($pregrado as $item) {
         if ($faker->numberBetween($min = 0, $max = 1) == 0) {
             $item->procedencia = 'NO UACH';
             $samples_temp_no_uach[] = ['postulante' => $item->postulante];
             $item->save();
         } else {
             $item->procedencia = 'UACH';
             $samples_temp_uach[] = ['postulante' => $item->postulante, 'email_institucional' => $faker->email, 'grupo_sanguineo' => $faker->asciify('GS ***'), 'enfermedades' => $faker->sentence($nbWords = 3, $variableNbWords = true), 'telefono' => $faker->phoneNumber, 'ciudad' => $faker->numberBetween($min = 1, $max = 42), 'direccion' => $faker->address];
             $item->save();
         }
     }
     PreNoUach::insert($samples_temp_no_uach);
     PreUach::insert($samples_temp_uach);
 }
 public function recursiva_estudio($table, $id, $procedencia, $tEstudio, $anio)
 {
     // dd(Universidad::find(1)->probando(1990, 'NO UACH')->get()->count());
     $temp = array();
     switch ($table) {
         case 'tipo_estudio':
             $temp = TipoEstudio::all();
             $table = 'procedencia';
             $breadCrum = "Tipo de estudio";
             break;
         case 'procedencia':
             $temp = Procedencia::all();
             $breadCrum = "Procedencia";
             $table = 'año';
             break;
         case 'año':
             $temp = AnioIntercambio::all();
             $breadCrum = "Año de intercambio";
             $table = 'universidad';
             break;
         case 'universidad':
             $temp = Universidad::universidades($id, $procedencia)->get();
             $breadCrum = "Universidad";
             $table = 'facultad';
             break;
         case 'facultad':
             $temp = Universidad::find($id)->facultadR;
             $breadCrum = "Facultad";
             $table = 'carrera';
             break;
         case 'carrera':
             $temp = Facultad::find($id)->carrerasR;
             $breadCrum = "Carrera";
             $table = 'fin';
             break;
             /*
              */
     }
     $arrayFinal = [];
     // $temp = Pais::all();
     foreach ($temp as $key => $valor) {
         switch ($table) {
             case 'año':
                 // calculo cuantos postulantes son uach  y cuantos postulants son no uach
                 # code...
                 $padre = $valor->id;
                 $nombre = $valor->nombre;
                 $tEstudio = $nombre;
                 $procedencia = $id;
                 $children = $valor->childrenEstudio($id);
                 break;
                 dd('asdf');
             case 'universidad':
                 // calculo cuantos postulants por año existen
                 $padre = $valor->id;
                 $nombre = $valor->nombre;
                 if ($procedencia === 'Pregrado') {
                     $children = Pregrado::childrenEstudio($padre, $tEstudio)->count();
                 } else {
                     $children = Postgrado::childrenEstudio($padre, $tEstudio)->count();
                 }
                 break;
             case 'facultad':
                 $padre = $valor->id;
                 $nombre = $valor->nombre;
                 //$children = $valor->childrenEstudio($id, $tEstudio);
                 $anio = $id;
                 $children = Universidad::postulantes($id, $tEstudio, $valor->id, $procedencia)->count();
                 break;
             case 'carrera':
                 $padre = $valor->id;
                 $nombre = $valor->nombre;
                 //$children = $valor->childrenEstudio($id, $tEstudio);
                 $children = 0;
                 if ($procedencia === 'Pregrado') {
                     $children = $valor->postulantes($anio, $tEstudio);
                 }
                 break;
             case 'fin':
                 $padre = $valor->id;
                 $nombre = $valor->nombre;
                 //$children = $valor->childrenEstudio($id, $tEstudio);
                 $children = 0;
                 if ($procedencia === 'Pregrado') {
                     $children = $valor->postulantes($anio, $tEstudio);
                 }
                 break;
             default:
                 // aca calculo el numero de postulantes que son pregrados  y pregrados
                 # code...
                 $padre = $valor->id;
                 $nombre = $valor->nombre;
                 $children = $valor->childrenEstudio;
                 break;
         }
         if ($children) {
             $arrayFinal[] = array('name' => $nombre, 'size' => $children, 'breadCrum' => $breadCrum, 'children' => $this->recursiva_estudio($table, $padre, $procedencia, $tEstudio, $anio));
         }
     }
     return $arrayFinal;
 }
 public function putUpdate(CretePostulacionRequest $request, Guard $auth)
 {
     $postulante = Postulante::firstOrNew(array('user_id' => $auth->id()));
     $mensaje = '';
     if ($postulante->tipo_estudio === 'Pregrado') {
         if ($request->get('tipo_estudio') === "Postgrado") {
             Pregrado::find($postulante->id)->delete();
         }
     }
     if ($postulante->tipo_estudio === 'Postgrado') {
         if ($request->get('tipo_estudio') === "Pregrado") {
             Postgrado::find($postulante->id)->delete();
         }
     }
     $postulante->fill($request->all());
     $postulante->save();
     $documento = DocumentoIdentidad::where('postulante', $postulante->id)->first();
     $documento->fill($request->all());
     $documento->save();
     // se verifica si el alumno va a postular a una carrera de pregrado o postgrado.
     if ($request->get('tipo_estudio') === 'Pregrado') {
         $pregrado = Pregrado::firstOrNew(array('postulante' => $postulante->id));
         $pregrado->procedencia = $request->get('procedencia');
         $pregrado->save();
         // se verifica si el estudiante es un alumno entrante o saliente.
         if ($request->get('procedencia') === 'UACH') {
             $preUach = PreUach::firstOrNew(array('postulante' => $postulante->id));
             $preUach->email_institucional = $request->get('email_institucional');
             $preUach->grupo_sanguineo = $request->get('grupo_sanguineo');
             $preUach->enfermedades = $request->get('enfermedades');
             $preUach->telefono = $request->get('telefono_2');
             $preUach->ciudad = $request->get('ciudad_2');
             $preUach->direccion = $request->get('direccion_2');
             $preUach->save();
         } else {
             $preNoUach = PreNoUach::firstOrCreate(array('postulante' => $postulante->id));
             //$preNoUach->save();
         }
         $mensaje = 'Su postulación se actualizó correctamente(' . $request->get('tipo_estudio') . ')';
     } else {
         $postgrado = Postgrado::firstOrNew(array('postulante' => $postulante->id));
         $postgrado->procedencia = $request->get('procedencia');
         $postgrado->titulo_profesional = $request->get('titulo_profesional');
         $postgrado->save();
         $mensaje = 'Su postulación se actualizó correctamente(' . $request->get('tipo_estudio') . ')';
     }
     return response()->json(['message' => $mensaje]);
 }