/**
  * Asigna una partida especifica a un presupuesto especifico
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function asignarPartida($id, Request $request)
 {
     try {
         $partidas = DB::table('tpresupuesto_tpartida')->where('tPresupuesto_idPresupuesto', $id)->get();
         foreach ($partidas as $partida) {
             if ($partida->tPartida_idPartida == $request->tPartida_idPartida) {
                 return Redirect::back()->withErrors(['errors' => 'Este presupuesto ya tiene esta partida asignada']);
             }
         }
         $presupuesto_partida = new Presupuesto_Partida();
         $presupuesto_partida->tPresupuesto_idPresupuesto = $id;
         $presupuesto_partida->tPartida_idPartida = $request->tPartida_idPartida;
         $presupuesto_partida->iPresupuestoInicial = $request->iPresupuestoInicial;
         $presupuesto_partida->iPresupuestoModificado = $request->iPresupuestoInicial;
         $presupuesto_partida->calcularGasto();
         $presupuesto_partida->calcularReserva();
         $presupuesto_partida->calcularSaldo();
         $presupuesto_partida->presupuestoModificado();
         $presupuesto_partida->save();
         $presupuesto = Presupuesto::find($id);
         $coordinacion = Coordinacion::find($presupuesto->tCoordinacion_idCoordinacion);
         $partida = Partida::all();
         return view('presupuesto/agregarPresupuestoPartida', ['partida' => $partida, 'coordinacion' => $coordinacion, 'presupuesto' => $presupuesto, 'mensaje' => false]);
     } catch (\Illuminate\Database\QueryException $ex) {
         return Redirect::back()->withErrors(['errors' => 'La partida esta asignada a un presupuesto']);
     }
 }