/**
  * Guarda los servicios que presta un usuario o un operador.
  *
  * @return Response
  */
 public function postServicioOperadores(ServiciosOperadorRepository $gestion)
 {
     $inputData = Input::get('formData');
     parse_str($inputData, $formFields);
     $root_array1['id_usuario_op'] = session('operador_id');
     $validator = Validator::make($root_array1, $this->validationRules);
     $serviciosBase = array();
     $root_array = array();
     if ($validator->fails()) {
         return response()->json(array('fail' => true, 'errors' => $validator->getMessageBag()->toArray()));
     }
     //obtengo los servicios ya almacenados de la bdd
     $ServiciosOperador = $gestion->getServiciosOperador(session('operador_id'));
     //Arreglo de servicios prestados que vienen del formulario
     foreach ($formFields as $key => $value) {
         //verifica si el arreglo de parametros es un catalogo
         if (strpos($key, 'id_catalogo_servicio') !== false) {
             $root_array[$key] = $value;
         }
     }
     //pongo en formato el arreglo que viene de la bdd
     $ix = 0;
     foreach ($ServiciosOperador as $servicioBase) {
         $ix = $ix + 1;
         $serviciosBase[$ix] = $servicioBase->id_catalogo_servicio;
     }
     $local = $root_array;
     $base = $serviciosBase;
     //es lo nuevo que viene del formulario
     $resultlocalbase = array_diff($local, $base);
     //es lo que tengo q eliminar o cabiar de estado
     $resultbaselocal = array_diff($base, $local);
     //return $resultbaselocal;
     //Guarda los nuevos catalogos
     if (count($resultlocalbase) > 0) {
         foreach ($resultlocalbase as $key1 => $value1) {
             $save_array = array();
             $save_array['id_usuario_op'] = session('operador_id');
             $save_array['id_catalogo_servicio'] = $value1;
             $Servicio = $gestion->getServiciosOperadorporIdServicio(session('operador_id'), $value1);
             //significa que ya existia y que hay que cambiarle el estado a 1 para volver a activarlo
             if (count($Servicio) > 0) {
                 $save_array['estado_servicio'] = 1;
                 $gestion->storeUpdate($save_array, $Servicio);
             } else {
                 $gestion->storeNew($save_array);
             }
         }
     }
     //actualiza estado 0 los que ya estaba guardados
     if (count($resultbaselocal) > 0) {
         foreach ($resultbaselocal as $key1 => $value1) {
             $save_array = array();
             $Servicio = $gestion->getServiciosOperadorporIdServicio(session('operador_id'), $value1);
             $save_array['estado_servicio'] = 0;
             $gestion->storeUpdate($save_array, $Servicio);
         }
     }
     $returnHTML = '/IguanaTrip/public/detalleServicios';
     return response()->json(array('success' => true, 'redirectto' => $returnHTML));
 }