public function store(\Illuminate\Http\Request $request)
 {
     /* ------------------ INICIA TRANSACTION -----------------------*/
     \DB::transaction(function () use($request) {
         $input = $request->except(array('_token'));
         //não levar o token
         /*Validação de campos - request*/
         if ($input['quem'] == "2") {
             $this->validate($request, ['grupo' => 'required', 'pessoas' => 'required']);
         } else {
             $this->validate($request, ['grupo' => 'required']);
         }
         //Pega tipo de pessoa MEMBRO
         $tipos = \App\Models\tipospessoas::select('id')->where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('membro', 't')->get();
         if ($input["pessoas"] != "") {
             /*
                            $pessoas = \App\Models\pessoas::select('emailprincipal', 'razaosocial', 'datanasc', 'cpf')
                            ->where('empresas_id', $this->dados_login->empresas_id)
                            ->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)
                            ->where('emailprincipal', '<>', '')
                            ->where('id', substr($input['pessoas'],0,9))
                            ->get();
             */
             $sSql = " SELECT emailprincipal, razaosocial, datanasc, cpf FROM pessoas ";
             $sSql .= " WHERE empresas_id = " . $this->dados_login->empresas_id . "";
             $sSql .= " AND empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . "";
             $sSql .= " and emailprincipal <> '' ";
             $sSql .= " and emailprincipal not in (select email from users)";
             $sSql .= " and id = " . substr($input['pessoas'], 0, 9);
             $pessoas = \DB::select($sSql);
         } else {
             //Lista tipos de pessoas, será usado no botão novo registro para indicar qual tipo de cadastro efetuar
             /*$pessoas = \App\Models\pessoas::select('emailprincipal', 'razaosocial', 'datanasc', 'cpf')
               ->where('empresas_id', $this->dados_login->empresas_id)
               ->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)
               ->where('emailprincipal', '<>', '')
               ->where('tipos_pessoas_id', '=', $tipos[0]->id) //SOMENTE MEMBROS
               ->where('ativo', '=', 'S') //ATIVOS
               ->get();
                */
             $sSql = " SELECT emailprincipal, razaosocial, datanasc, cpf FROM pessoas ";
             $sSql .= " WHERE empresas_id = " . $this->dados_login->empresas_id;
             $sSql .= " AND empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id;
             $sSql .= " and emailprincipal <> '' ";
             $sSql .= " and emailprincipal not in (select email from users)";
             $sSql .= " and tipos_pessoas_id = " . $tipos[0]->id;
             $sSql .= " and ativo = 'S' ";
             $pessoas = \DB::select($sSql);
         }
         $iQtd = 0;
         foreach ($pessoas as $item) {
             if (rtrim(ltrim($item->cpf)) != "" || rtrim(ltrim($item->datanasc)) != "" || rtrim(ltrim($input['password']))) {
                 $iQtd++;
                 $dados = users::firstOrNew(['email' => strtolower($item->emailprincipal)]);
                 $dados->name = $item->razaosocial;
                 $dados->email = strtolower($item->emailprincipal);
                 $dados->confirmed = 1;
                 //Se for criado usuario pelo usuario.
                 if ($input["gerar"] == "1") {
                     if (rtrim(ltrim($item->cpf)) != "") {
                         $sSenha = substr($item->cpf, 0, 6);
                         $dados->password = bcrypt(substr($item->cpf, 0, 6));
                     } else {
                         if (rtrim(ltrim($item->datanasc)) != "") {
                             $dados->password = bcrypt(substr($item->datanasc, 5, 2) . substr($item->datanasc, 0, 4));
                             $sSenha = substr($item->datanasc, 5, 2) . substr($item->datanasc, 0, 4);
                         } else {
                             //nao tem nenhum
                             $dados->password = "";
                         }
                     }
                 } else {
                     if ($input["gerar"] == "2") {
                         $dados->password = bcrypt($input['password']);
                         $sSenha = $input['password'];
                     }
                 }
                 $dados->membro = "S";
                 $dados->save();
                 //-----------------Cria registro na tabela usuarios para associar com a tabela users
                 $usuarios = usuario::firstOrNew(['id' => $dados->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id]);
                 $usuarios->id = $dados->id;
                 //id recem cadastrado na tabela users
                 $usuarios->empresas_id = $this->dados_login->empresas_id;
                 $usuarios->empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
                 $usuarios->master = 0;
                 $usuarios->membro = 'S';
                 $usuarios->save();
                 //-----------------FIM - Cria registro na tabela usuarios para associar com a tabela users
                 //Grava Grupo que o usuário iŕa pertencer
                 $grupo_usuario = \App\Models\usuarios_grupo::firstOrNew(['usuarios_id' => $dados->id, 'usuarios_empresas_id' => $this->dados_login->empresas_id, 'usuarios_empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id]);
                 $grupo_usuario->usuarios_id = $dados->id;
                 $grupo_usuario->usuarios_empresas_id = $this->dados_login->empresas_id;
                 $grupo_usuario->usuarios_empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
                 $grupo_usuario->grupos_id = $input['grupo'];
                 $grupo_usuario->save();
                 $data = ['email' => $item->emailprincipal, 'nome_igreja' => \Session::get('nome_igreja'), 'nome' => $item->razaosocial, 'senha' => $sSenha];
                 if (isset($input["ckenviar"])) {
                     \Mail::send('emails.bemvindo', ['nome' => $data["nome"], 'nome_igreja' => $data["nome_igreja"], 'email' => $data["email"], 'senha' => $data["senha"]], function ($message) use($data) {
                         $message->from('*****@*****.**', 'Sigma3');
                         $message->subject('Acesso a Área do Membro - ' . $data['nome_igreja']);
                         $message->to($data['email']);
                     });
                 }
             }
         }
         //loop
         if ($iQtd > 0) {
             \Session::flash('flash_message', 'Dados Atualizados com Sucesso!!!');
         } else {
             \Session::flash('flash_message_erro', 'Nenhum registro Atualizado, verifique se o(s) membro(s) possue(m) email cadastrado, CPF ou data de nascimento');
         }
     });
     //FIM TRANSACTION
     return redirect('login_membros');
 }