/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $rules = array('control' => array('required'), 'nombre' => array('required'), 'apaterno' => array('required'), 'amaterno' => array('required'), 'genero' => array('required'), 'fecha' => array('required'), 'grupo_id' => array('required'), 'curp' => array('required'), 'nss' => array('required'), 'estado_id' => array('required'), 'municipio_id' => array('required'), 'localidad' => array('required'), 'domicilio' => array('required'), 'rfc' => array('required'), 'fechaingreso' => array('required'), 'fechaegreso' => array('required'), 'puesto_id' => array('required'), 'area_id' => array('required'), 'pago_id' => array('required'), 'nomina_id' => array('required'), 'salario' => array('required'), 'cuenta' => array('required'), 'tarjeta' => array('required'), 'situacion_id' => array('required'), 'emergencia' => array('required'), 'usuario' => array('required', 'unique:tbl_usuarios,usuario'), 'nombre' => array('required'), 'contrasenia' => array('required'));
     $messages = array('nombre.required' => 'Campo requerido', 'control.required' => 'Campo requerido', 'apaterno.required' => 'Campo requerido', 'amaterno.required' => 'Campo requerido', 'genero.required' => 'Campo requerido', 'fecha.required' => 'Campo requerido', 'grupo_id.required' => 'Campo requerido', 'curp.required' => 'Campo requerido', 'nss.required' => 'Campo requerido', 'estado_id.required' => 'Campo requerido', 'municipio_id.required' => 'Campo requerido', 'localidad.required' => 'Campo requerido', 'domicilio.required' => 'Campo requerido', 'rfc.required' => 'Campo requerido', 'fechaingreso.required' => 'Campo requerido', 'fechaegreso.required' => 'Campo requerido', 'puesto_id.required' => 'Campo requerido', 'area_id.required' => 'Campo requerido', 'pago_id.required' => 'Campo requerido', 'nomina_id.required' => 'Campo requerido', 'salario.required' => 'Campo requerido', 'cuenta.required' => 'Campo requerido', 'tarjeta.required' => 'Campo requerido', 'situacion_id.required' => 'Campo requerido', 'emergencia.required' => 'Campo requerido', 'usuario.required' => 'Campo requerido', 'nombre.required' => 'Campo requerido', 'usuario.unique' => 'Ya existe el usuario', 'contrasenia.required' => 'Campo requerido');
     $validator = Validator::make(Input::all(), $rules, $messages);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     } else {
         if (Auth::user()->tipousuarios_id == 2) {
             $empresausuario = UsuarioEmpresaRenta::with('usuario', 'empresa')->where('usuarios_id', Auth::user()->id)->first();
             $empresaid = $empresausuario->empresas_renta_id;
         } else {
             if (Auth::user()->tipousuarios_id == 3) {
                 $empresausuario = UsuarioEmpleado::with('usuario', 'empresa')->where('usuarioid', Auth::user()->id)->first();
                 $empresaid = $empresausuario->empresarentaid;
             }
         }
         $comprueba = EmpleadoEmpresaCliente::where('nombre', Input::get('nombre'))->where('empresas_renta_id', $empresaid)->first();
         if ($comprueba) {
             Session::flash('mensaje', 'Ya existe el nombre de un empleado!');
             return Redirect::back()->withInput();
         }
         $empleado = new EmpleadoEmpresaCliente();
         $empleado->control = Input::get('control');
         $empleado->nombre = Input::get('nombre');
         $empleado->apaterno = Input::get('apaterno');
         $empleado->amaterno = Input::get('amaterno');
         $empleado->genero = Input::get('genero');
         $empleado->fecha = Input::get('fecha');
         $empleado->grupo_sanguineo_empresa_cliente_id = Input::get('grupo_id');
         $empleado->curp = Input::get('curp');
         $empleado->nss = Input::get('nss');
         $empleado->empresas_renta_id = $empresaid;
         $empleado->activo = 1;
         $empleado->save();
         $tipoid = TipoUsuario::where('nombre', '=', 'Empledado Empresa')->first();
         $usuario = new Usuario();
         $usuario->nombre = Input::get('nombre');
         $usuario->usuario = Input::get('usuario');
         $usuario->password = Hash::make(Input::get('contrasenia'));
         $usuario->tipousuarios_id = $tipoid->id;
         $usuario->activo = 1;
         $usuario->save();
         $usuarioempleado = new UsuarioEmpleado();
         $usuarioempleado->empresarentaid = $empresaid;
         $usuarioempleado->usuarioid = $usuario->id;
         $usuarioempleado->empleadoid = $empleado->id;
         $usuarioempleado->save();
         $domicilio = new DomicilioEmpleadoEmpresaCliente();
         $domicilio->estados_id = Input::get('estado_id');
         $domicilio->municipios_id = Input::get('municipio_id');
         $domicilio->localidad = Input::get('localidad');
         $domicilio->domicilio = Input::get('domicilio');
         $domicilio->empleado_empresa_cliente_id = $empleado->id;
         $domicilio->activo = 1;
         $domicilio->save();
         $puesto = new PuestoEmpleadoEmpresaCliente();
         $puesto->fingreso = Input::get('fechaingreso');
         $puesto->fegreso = Input::get('fechaegreso');
         $puesto->puesto_empresa_cliente_id = Input::get('puesto_id');
         $puesto->area_empresa_cliente_id = Input::get('area_id');
         $puesto->pago_empresa_cliente_id = Input::get('pago_id');
         $puesto->nomina_empresa_cliente_id = Input::get('nomina_id');
         $puesto->salario = Input::get('salario');
         $puesto->numtarjeta = Input::get('tarjeta');
         $puesto->numcuenta = Input::get('cuenta');
         $puesto->rfc = Input::get('rfc');
         $puesto->situacion_empresa_cliente_id = Input::get('situacion_id');
         $puesto->empleado_empresa_cliente_id = $empleado->id;
         $puesto->telemergencia = Input::get('emergencia');
         $puesto->observaciones = Input::get('observaciones');
         $puesto->activo = 1;
         $puesto->save();
         if (Auth::user()->tipousuarios_id == 2) {
             Session::flash('mensaje', 'Se ha creado correctamente!');
             return Redirect::to('administradorempresa/empleados');
         } else {
             if (Auth::user()->tipousuarios_id == 3) {
                 Session::flash('mensaje', 'Se ha creado correctamente!');
                 return Redirect::to('administradorempleado/empleados');
             }
         }
     }
 }