Beispiel #1
0
 public function validar_celulas($id)
 {
     //Verificar se célula existe
     $buscar = \App\Models\celulaspessoas::select('celulas_id')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('celulas_id', $id)->get();
     if ($buscar->count() > 0) {
         return $buscar[0]->celulas_id;
     } else {
         return "";
         //Retorna vazio
     }
 }
 public function salvar($request, $id, $tipo_operacao)
 {
     /* ------------------ INICIA TRANSACTION -----------------------*/
     \DB::transaction(function () use($request, $id, $tipo_operacao) {
         $input = $request->except(array('_token'));
         //não levar o token
         $this->validate($request, ['celulas' => 'required', 'data_mov' => 'required', 'tipos_mov' => 'required']);
         $descricao_celula = explode("|", $input["celulas"]);
         $descricao_celula_nova = explode("|", $input["celulas_nova"]);
         if (isset($input['topics'])) {
             //PERCORRER LISTA DA NOVA CELULA
             foreach ($input['topics'] as $selected) {
                 if ($selected != "") {
                     $dados = new membros_movimentacoes();
                     $dados->empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
                     $dados->empresas_id = $this->dados_login->empresas_id;
                     $dados->celulas_id_atual = $descricao_celula[0];
                     $dados->celulas_id_nova = $descricao_celula_nova[0];
                     $dados->data_movimentacao = $this->formatador->FormatarData($input['data_mov']);
                     $dados->pessoas_id = $selected;
                     $dados->motivos_id = $input['tipos_mov'];
                     $dados->observacao = trim($input['obs']);
                     $dados->save();
                 }
                 //-------------------------------REMOVER CELULA ANTERIOR
                 /*Clausula where padrao para as tabelas auxiliares*/
                 $where = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'celulas_id' => $descricao_celula[0], 'pessoas_id' => $selected];
                 $excluir = \App\Models\celulaspessoas::where($where)->delete();
                 //-------------------------------FIM - REMOVER CELULA ANTERIOR
                 //----------------------------------ADICIONAR CELULA NOVA
                 $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $selected, 'celulas_id' => $descricao_celula_nova[0]];
                 if ($tipo_operacao == "create") {
                     $dados = new \App\Models\celulaspessoas();
                 } else {
                     $dados = \App\Models\celulaspessoas::firstOrNew($whereForEach);
                 }
                 $valores = ['pessoas_id' => $selected, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'celulas_id' => $descricao_celula_nova[0], 'lider_pessoas_id' => substr($descricao_celula_nova[1], 0, 9)];
                 $dados->fill($valores)->save();
                 $dados->save();
                 //----------------------------------FIM ADICIONAR CELULA NOVA
             }
             //end for each visitantes
         }
     });
     // ------------ FIM TRANSACTION
 }
Beispiel #3
0
 public function salvar($request, $id, $tipo_operacao)
 {
     /*Clausula where padrao para as tabelas auxiliares*/
     $where = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $id];
     /* ------------------ INICIA TRANSACTION -----------------------*/
     \DB::transaction(function () use($request, $id, $tipo_operacao, $where) {
         /*
             Se for UPDATE (houver conteudo variavel $id), exclui as tabelas auxiliares antes da TRANSACTION
         */
         if ($id != "") {
             /*Excluir antes atualizar*/
             $excluir = \App\Models\membros_dons::where($where)->delete();
             $excluir = \App\Models\membros_cursos::where($where)->delete();
             $excluir = \App\Models\membros_profissionais::where($where)->delete();
             $excluir = \App\Models\financpessoas::where($where)->delete();
             $excluir = \App\Models\membros_dados::where($where)->delete();
             $excluir = \App\Models\membros_familiares::where($where)->delete();
             $excluir = \App\Models\membros_situacoes::where($where)->delete();
             $excluir = \App\Models\membros_formacoes::where($where)->delete();
             $excluir = \App\Models\membros_idiomas::where($where)->delete();
             $excluir = \App\Models\membros_habilidades::where($where)->delete();
             $excluir = \App\Models\membros_atividades::where($where)->delete();
             $excluir = \App\Models\membros_filhos::where($where)->delete();
             $excluir = \App\Models\membros_ministerios::where($where)->delete();
             $excluir = \App\Models\membros_hist_eclesiasticos::where($where)->delete();
             $excluir = \App\Models\membros_relacionamentos::where($where)->delete();
         }
         /*Instancia biblioteca de funcoes globais*/
         $formatador = new \App\Functions\FuncoesGerais();
         /*Validação de campos - request*/
         $this->validate($request, ['razaosocial' => 'required|max:255:min:3', 'emailprincipal' => 'email', 'emailsecundario' => 'email', 'opPessoa' => 'required', 'opStatus' => 'required', 'cpf' => 'cpf', 'cnpj' => 'cnpj']);
         $image = $request->file('caminhologo');
         //Imagem / Logo
         $input = $request->except(array('_token', 'ativo'));
         //não levar o token
         //dd($input);
         /*--------------------------------- CADASTRO DE PESSOAS------------------- */
         if ($tipo_operacao == "create") {
             $pessoas = new pessoas();
         } else {
             $pessoas = pessoas::findOrfail($id);
         }
         $pessoas->razaosocial = $input['razaosocial'];
         $pessoas->nomefantasia = $input['nomefantasia'];
         $pessoas->cnpj_cpf = $formatador->RetirarCaracteres($input['cnpj'] != "" ? $input['cnpj'] : $input['cpf']);
         $pessoas->inscricaoestadual_rg = $input['inscricaoestadual_rg'];
         $pessoas->endereco = $input['endereco'];
         $pessoas->numero = $input['numero'];
         $pessoas->bairro = $input['bairro'];
         $pessoas->cep = $input['cep'];
         $pessoas->complemento = $input['complemento'];
         $pessoas->cidade = $input['cidade'];
         $pessoas->estado = $input['estado'];
         $pessoas->grupos_pessoas_id = $input['grupo'] == "" ? null : $input['grupo'];
         $pessoas->obs = $input['obs'];
         $pessoas->fone_principal = $formatador->RetirarCaracteres($input['foneprincipal']);
         //preg_replace("/[^0-9]/", '', $input['foneprincipal']);
         $pessoas->fone_secundario = $formatador->RetirarCaracteres($input['fonesecundario']);
         //preg_replace("/[^0-9]/", '', $input['fonesecundario']);
         $pessoas->fone_recado = $input['fonerecado'];
         $pessoas->fone_celular = $input['celular'];
         $pessoas->emailprincipal = $input['emailprincipal'];
         $pessoas->emailsecundario = $input['emailsecundario'];
         $pessoas->ativo = $input['opStatus'];
         $pessoas->tipos_pessoas_id = $input['tipos_pessoas_id'];
         $pessoas->datanasc = $formatador->FormatarData($input['datanasc']);
         $pessoas->tipopessoa = $input['opPessoa'];
         $pessoas->website = $input['website'];
         $pessoas->empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
         $pessoas->empresas_id = $this->dados_login->empresas_id;
         $nome_imagem = str_replace(" ", "", strtolower($input['razaosocial']) . date("his"));
         if ($image) {
             //$pessoas->caminhofoto = $image->getClientOriginalName();
             $pessoas->caminhofoto = $nome_imagem . '.' . $image->getClientOriginalExtension();
         }
         if ($input['mydata'] != "") {
             $pessoas->caminhofoto = $nome_imagem . '_webcam.jpg';
         }
         $pessoas->save();
         /*------------------------------FIM  CADASTRO DE PESSOAS------------------- */
         /*------------------------------DADOS FINANCEIROS------------------------------*/
         if ($input['banco'] != "" || $input['endereco_cobranca'] != "") {
             if ($tipo_operacao == "create") {
                 $financ = new \App\Models\financpessoas();
             } else {
                 $financ = \App\Models\financpessoas::firstOrNew($where);
             }
             $valores = ['pessoas_id' => $pessoas->id, 'endereco' => $input['endereco_cobranca'], 'numero' => $input['numero_cobranca'], 'bairro' => $input['bairro_cobranca'], 'cep' => $input['cep_cobranca'], 'complemento' => $input['complemento_cobranca'], 'cidade' => $input['cidade_cobranca'], 'estado' => $input['estado_cobranca'], 'bancos_id' => $input['banco'] == "" ? null : $input['banco'], 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
             $financ->fill($valores)->save();
             $financ->save();
         }
         /*------------------------------FIM - DADOS FINANCEIROS------------------------------*/
         /*Verifica o cadastro do tipo de pessoa (campo MEMBRO) para saber se grava dados eclesiasticos*/
         $habilitar_interface = \App\Models\tipospessoas::findOrfail($input['tipos_pessoas_id']);
         //Somente se for tipo MEMBRO
         if ($habilitar_interface->membro) {
             /*Se foi informado uma celula, associa o membro a celula*/
             if (isset($input['celulas'])) {
                 if ($input['celulas'] != "") {
                     if ($tipo_operacao == "create") {
                         $dados = new \App\Models\celulaspessoas();
                     } else {
                         $dados = \App\Models\celulaspessoas::firstOrNew($where);
                     }
                     /*input celulas vem com pipe separando celulas_id | lider_pessoas_id - nome*/
                     $strCampos = explode("|", $input['celulas']);
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'celulas_id' => $strCampos[0], 'lider_pessoas_id' => substr($strCampos[1], 0, 9)];
                     $dados->fill($valores)->save();
                     $dados->save();
                 }
             }
             /*------------------------------DADOS ECLESIASTICOS------------------------------*/
             if (isset($input['opSexo'])) {
                 if ($input['opSexo'] != "" || $input['status'] != "" || $input['graus'] != "" || $input['lingua'] != "" || $input['igreja'] != "" || $input['familia'] != "" || $input['opDoadorSangue'] != "" || $input['opDoadorOrgaos'] != "" || $input['naturalidade'] != "" || $input['ufnaturalidade'] != "" || $input['nacionalidade'] != "" || $input['grpsangue'] != "" || $input['necessidades'] != "" || $input['facebook'] != "" || $input['google'] != "" || $input['instagram'] != "" || $input['linkedin'] != "" || $input['estadoscivis'] != "") {
                     if ($tipo_operacao == "create") {
                         $eclesiasticos = new \App\Models\membros_dados();
                     } else {
                         $eclesiasticos = \App\Models\membros_dados::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'status_id' => $input['status'] == "" ? null : $input['status'], 'idiomas_id' => $input['lingua'] == "" ? null : $input['lingua'], 'igrejas_id' => $input['igreja'] == "" ? null : $input['igreja'], 'estadoscivis_id' => $input['estadoscivis'] == "" ? null : $input['estadoscivis'], 'disponibilidades_id' => $input['disponibilidades'] == "" ? null : $input['disponibilidades'], 'graus_id' => $input['graus'] == "" ? null : $input['graus'], 'familias_id' => $input['familia'] == "" ? null : substr($input['familia'], 0, 9), 'sexo' => $input['opSexo'] == "" ? null : $input['opSexo'], 'prefere_trabalhar_com' => $input['prefere_trabalhar_com'] == "" ? null : $input['prefere_trabalhar_com'], 'considera_se' => $input['considera_se'] == "" ? null : $input['considera_se'], 'doador_sangue' => $input['opDoadorSangue'] == "" ? null : $input['opDoadorSangue'], 'doador_orgaos' => $input['opDoadorOrgaos'] == "" ? null : $input['opDoadorOrgaos'], 'naturalidade' => $input['naturalidade'], 'uf_naturalidade' => $input['ufnaturalidade'], 'nacionalidade' => $input['nacionalidade'], 'grupo_sanguinio' => $input['grpsangue'] == "" ? null : strtoupper($input['grpsangue']), 'possui_necessidades_especiais' => $input['ck_necessidades'] == "" ? 0 : $input['ck_necessidades'], 'descricao_necessidade_especial' => $input['necessidades'], 'link_facebook' => $input['facebook'], 'link_google' => $input['google'], 'link_instagram' => $input['instagram'], 'link_outros' => '', 'link_linkedin' => $input['linkedin']];
                     $eclesiasticos->fill($valores)->save();
                     $eclesiasticos->save();
                 }
             }
             /*------------------------------FIM - DADOS ECLESIASTICOS------------------------------*/
             /*------------------------------MEMBROS FILHOS------------------------------*/
             if (isset($input['inc_filhos'])) {
                 if ($input['inc_filhos'] != "") {
                     $i_index = 0;
                     /*Inicia sequencia*/
                     /*Pode ser um ou vários, por isso percorre array de inputs gerados*/
                     foreach ($input['inc_filhos'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'nome_filho' => $selected];
                             if ($tipo_operacao == "create") {
                                 $filhos = new \App\Models\membros_filhos();
                             } else {
                                 $filhos = \App\Models\membros_filhos::firstOrNew($whereForEach);
                             }
                             /*Se houver conteudo, significa que usuario adicionou mais de 1 filho do cadastro*/
                             if ($input['hidden_id_filhos'][$i_index] != "") {
                                 $var_filhos_id = $input['hidden_id_filhos'][$i_index];
                             } else {
                                 $var_filhos_id = null;
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'nome_filho' => $input['inc_filhos'][$i_index], 'filhos_id' => $var_filhos_id, 'status_id' => $input['hidden_status'][$i_index] == "" ? null : $input['hidden_status'][$i_index], 'estadocivil_id' => $input['hidden_estadocivl'][$i_index] == "" ? null : $input['hidden_estadocivl'][$i_index], 'sexo' => $input['hidden_sexo'][$i_index] == "" ? null : $input['hidden_sexo'][$i_index], 'data_nasc' => $formatador->FormatarData($input['inc_datanasc'][$i_index]), 'data_falecimento' => $formatador->FormatarData($input['inc_datafalec'][$i_index])];
                             $filhos->fill($valores)->save();
                             $filhos->save();
                             $i_index = $i_index + 1;
                             //Incrementa sequencia do array para pegar proximos campos (se houver)
                         }
                     }
                 }
             }
             /*------------------------------FIM - MEMBROS FILHOS (SEM CADASTRO) ------------------------------*/
             /*------------------------------ Tabela CURSOS ---------------------------*/
             if (isset($input['hidden_cursos'])) {
                 if ($input['hidden_cursos'] != "") {
                     $i_index = 0;
                     /*Inicia sequencia*/
                     foreach ($input['hidden_cursos'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'cursos_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $cursos = new \App\Models\membros_cursos();
                             } else {
                                 $cursos = \App\Models\membros_cursos::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'cursos_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'ministrante_id' => $input['inc_ministrante_id'][$i_index] != "" ? $input['inc_ministrante_id'][$i_index] : null, 'data_inicio' => trim($input['inc_datainicio'][$i_index]) != "" ? $formatador->FormatarData(trim($input['inc_datainicio'][$i_index])) : "", 'data_fim' => trim($input['inc_datafim'][$i_index]) != "" ? $formatador->FormatarData(trim($input['inc_datafim'][$i_index])) : "", 'observacao' => $input['inc_obs'][$i_index]];
                             $cursos->fill($valores)->save();
                             $cursos->save();
                             $i_index = $i_index + 1;
                             //Incrementa sequencia do array para pegar proximos campos (se houver)
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela CURSOS---------------------------*/
             /*------------------------------ DADOS PROFISSIONAIS ------------------------------*/
             if (isset($input['nome_empresa'])) {
                 if ($input['nome_empresa'] != "" || $input['endereco_prof'] != "" || $input['numero_prof'] != "" || $input['bairro_prof'] != "" || $input['cep_prof'] != "" || $input['complemento_prof'] != "" || $input['cidade_prof'] != "" || $input['estado_prof'] != "" || $input['cargos'] != "" || $input['ramos'] != "" || $input['profissoes'] != "" || $input['emailprofissional'] != "") {
                     if ($tipo_operacao == "create") {
                         $profissionais = new \App\Models\membros_profissionais();
                     } else {
                         $profissionais = \App\Models\membros_profissionais::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'nome_empresa' => $input['nome_empresa'], 'endereco' => $input['endereco_prof'], 'numero' => $input['numero_prof'], 'bairro' => $input['bairro_prof'], 'cep' => $input['cep_prof'], 'complemento' => $input['complemento_prof'], 'cidade' => $input['cidade_prof'], 'estado' => $input['estado_prof'], 'cargos_id' => $input['cargos'] == "" ? null : $input['cargos'], 'ramos_id' => $input['ramos'] == "" ? null : $input['ramos'], 'profissoes_id' => $input['profissoes'] == "" ? null : $input['profissoes'], 'emailprofissional' => $input['emailprofissional']];
                     $profissionais->fill($valores)->save();
                     $profissionais->save();
                 }
             }
             /*------------------------------ FIM - DADOS PROFISSIONAIS ------------------------------*/
             /*------------------------------ DADOS FAMILIARES ------------------------------*/
             if (isset($input['conjuge'])) {
                 if ($input['conjuge'] != "" || $input['nome_conjuge'] != "" || $input['datanasc_conjuge'] != "" || $input['datafalecimento'] != "" || $input['datacasamento'] != "" || $input['igrejacasamento'] != "" || $input['pai'] != "" || $input['mae'] != "" || $input['nome_pai'] != "" || $input['nome_mae'] != "" || $input['status_pai'] != "" || $input['status_mae'] != "" || $input['datafalecimento_pai'] != "" || $input['datafalecimento_mae'] != "") {
                     if ($tipo_operacao == "create") {
                         $familiares = new \App\Models\membros_familiares();
                     } else {
                         $familiares = \App\Models\membros_familiares::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'conjuge_id' => $input['conjuge'] == "" ? null : substr($input['conjuge'], 0, 9), 'nome_conjuge' => $input['nome_conjuge'], 'data_nasc' => $formatador->FormatarData($input['datanasc_conjuge']), 'data_falecimento' => $formatador->FormatarData($input['datafalecimento']), 'data_casamento' => $formatador->FormatarData($input['datacasamento']), 'data_falecimento_pai' => $formatador->FormatarData($input['datafalecimento_pai']), 'data_falecimento_mae' => $formatador->FormatarData($input['datafalecimento_mae']), 'status_id' => $input['status_conjuge'] == "" ? null : $input['status_conjuge'], 'profissoes_id' => $input['profissao_conjuge'] == "" ? null : $input['profissao_conjuge'], 'igreja_casamento' => $input['igrejacasamento'], 'pai_id' => $input['pai'] == "" ? null : substr($input['pai'], 0, 9), 'mae_id' => $input['mae'] == "" ? null : substr($input['mae'], 0, 9), 'nome_pai' => $input['nome_pai'], 'nome_mae' => $input['nome_mae'], 'status_pai_id' => $input['status_pai'] == "" ? null : $input['status_pai'], 'status_mae_id' => $input['status_mae'] == "" ? null : $input['status_mae']];
                     $familiares->fill($valores)->save();
                     $familiares->save();
                 }
             }
             /*------------------------------ FIM - DADOS FAMILIARES ------------------------------*/
             /*------------------------------ Tabela MEMBROS_SITUACOES---------------------------*/
             if (isset($input['situacoes'])) {
                 if ($input['situacoes'] != "") {
                     foreach ($input['situacoes'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'situacoes_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $situacoes = new \App\Models\membros_situacoes();
                             } else {
                                 $situacoes = \App\Models\membros_situacoes::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'situacoes_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $situacoes->fill($valores)->save();
                             $situacoes->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_SITUACOES---------------------------*/
             /*------------------------------ Tabela MEMBROS_FORMAÇÕES ---------------------------*/
             if (isset($input['formacoes'])) {
                 if ($input['formacoes'] != "") {
                     foreach ($input['formacoes'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'formacoes_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $formacoes = new \App\Models\membros_formacoes();
                             } else {
                                 $formacoes = \App\Models\membros_formacoes::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'formacoes_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $formacoes->fill($valores)->save();
                             $formacoes->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_SITUACOES---------------------------*/
             /*------------------------------ Tabela MEMBROS_IDIOMAS ---------------------------*/
             if (isset($input['idiomas'])) {
                 if ($input['idiomas'] != "") {
                     foreach ($input['idiomas'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'idiomas_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $idiomas = new \App\Models\membros_idiomas();
                             } else {
                                 $idiomas = \App\Models\membros_idiomas::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'idiomas_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $idiomas->fill($valores)->save();
                             $idiomas->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_IDIOMAS---------------------------*/
             /*------------------------------ Tabela MEMBROS_DONS ---------------------------*/
             if (isset($input['dons'])) {
                 if ($input['dons'] != "") {
                     foreach ($input['dons'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'dons_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $dons = new \App\Models\membros_dons();
                             } else {
                                 $dons = \App\Models\membros_dons::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'dons_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $dons->fill($valores)->save();
                             $dons->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_DONS---------------------------*/
             /*------------------------------ Tabela MEMBROS_RELACIONAMENTOS ---------------------------*/
             if (isset($input['tiposrelacionamentos'])) {
                 if ($input['tiposrelacionamentos'] != "" && $input['pessoa_relacionamento'] != "") {
                     foreach ($input['tiposrelacionamentos'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'pessoas2_id' => $input['pessoa_relacionamento'] == "" ? null : substr($input['pessoa_relacionamento'], 0, 9), 'tipos_relacionamentos_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $relacionamentos = new \App\Models\membros_relacionamentos();
                             } else {
                                 $relacionamentos = \App\Models\membros_relacionamentos::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'pessoas2_id' => $input['pessoa_relacionamento'] == "" ? null : substr($input['pessoa_relacionamento'], 0, 9), 'tipos_relacionamentos_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $relacionamentos->fill($valores)->save();
                             $relacionamentos->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_RELACIONAMENTOS---------------------------*/
             /*------------------------------ Tabela MEMBROS_HABILIDADES ---------------------------*/
             if (isset($input['habilidades'])) {
                 if ($input['habilidades'] != "") {
                     foreach ($input['habilidades'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'habilidades_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $habilidades = new \App\Models\membros_habilidades();
                             } else {
                                 $habilidades = \App\Models\membros_habilidades::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'habilidades_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $habilidades->fill($valores)->save();
                             $habilidades->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_HABILIDADES---------------------------*/
             /*------------------------------ Tabela MEMBROS_ATIVIDADES ---------------------------*/
             if (isset($input['atividades'])) {
                 if ($input['atividades'] != "") {
                     foreach ($input['atividades'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'atividades_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $atividades = new \App\Models\membros_atividades();
                             } else {
                                 $atividades = \App\Models\membros_atividades::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'atividades_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $atividades->fill($valores)->save();
                             $atividades->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_ATIVIDADES---------------------------*/
             /*------------------------------ Tabela MEMBROS_MINISTERIOS ---------------------------*/
             if (isset($input['ministerios'])) {
                 if ($input['ministerios'] != "") {
                     foreach ($input['ministerios'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'ministerios_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $ministerios = new \App\Models\membros_ministerios();
                             } else {
                                 $ministerios = \App\Models\membros_ministerios::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'ministerios_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $ministerios->fill($valores)->save();
                             $ministerios->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_MINISTERIOS---------------------------*/
             /*------------------------------ DADOS HIST. ECLESIASTICOS ------------------------------*/
             if (isset($input['igreja_anterior'])) {
                 if ($input['igreja_anterior'] != "" || $input['fone_igreja_anterior'] != "" || $input['religioes'] != "" || $input['cep_igreja_anterior'] != "" || $input['endereco_igreja_anterior'] != "" || $input['numero_igreja_anterior'] != "" || $input['cidade_igreja_anterior'] != "" || $input['estado_igreja_anterior'] != "" || $input['bairro_igreja_anterior'] != "" || $input['data_batismo'] != "" || $input['igreja_batismo'] != "" || $input['celebrador'] != "" || $input['data_entrada'] != "" || $input['data_saida'] != "") {
                     if ($tipo_operacao == "create") {
                         $historico = new \App\Models\membros_hist_eclesiasticos();
                     } else {
                         $historico = \App\Models\membros_hist_eclesiasticos::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'igreja_anterior' => $input['igreja_anterior'], 'fone_igreja_anterior' => $input['fone_igreja_anterior'], 'religioes_id' => $input['religioes'] == "" ? null : $input['religioes'], 'cep_igreja_anterior' => $input['cep_igreja_anterior'], 'endereco_igreja_anterior' => $input['endereco_igreja_anterior'], 'numero_igreja_anterior' => $input['numero_igreja_anterior'], 'bairro_igreja_anterior' => $input['bairro_igreja_anterior'], 'complemento_igreja_anterior' => $input['complemento_igreja_anterior'], 'cidade_igreja_anterior' => $input['cidade_igreja_anterior'], 'estado_igreja_anterior' => $input['estado_igreja_anterior'], 'data_batismo' => $formatador->FormatarData($input['data_batismo']), 'igreja_batismo' => $input['igreja_batismo'], 'celebrador' => $input['celebrador'], 'data_entrada' => $formatador->FormatarData($input['data_entrada']), 'data_saida' => $formatador->FormatarData($input['data_saida']), 'ata_entrada' => $input['ata_entrada'], 'ata_saida' => $input['ata_saida'], 'motivos_saida_id' => $input['motivosaida'] == "" ? null : $input['motivosaida'], 'motivos_entrada_id' => $input['motivo_entrada'] == "" ? null : $input['motivo_entrada'], 'observacoes_hist' => $input['observacoes_hist']];
                     $historico->fill($valores)->save();
                     $historico->save();
                 }
             }
             /*------------------------------ FIM - HIST. ECLESIASTICO ------------------------------*/
         }
         /*-------------------------------------------------- UPLOAD IMAGEM */
         if ($image) {
             /*Regras validação imagem*/
             $rules = array('image' => 'image', 'image' => array('mimes:jpeg,jpg,png', 'max:2000kb'));
             // Validar regras
             $validator = \Validator::make([$image], $rules);
             // Check to see if validation fails or passes
             if ($validator->fails()) {
                 \Session::flash('flash_message_erro', 'Os dados foram salvos, porém houve erro no envio da imagem.');
                 return redirect($this->rota);
             } else {
                 //caminho onde será gravado
                 $destinationPath = base_path() . '/public/images/persons';
                 // Cria uma instancia
                 $img = \Image::make($image->getRealPath());
                 //redimenciolna a imagem
                 $img->resize(320, 240);
                 //Salva a imagem no path definido, criando com nome da pessoa e a extencao original do arquivo
                 $img->save($destinationPath . '/' . $nome_imagem . '.' . $image->getClientOriginalExtension());
             }
         }
         if ($input['mydata'] != "") {
             $encoded_data = $input['mydata'];
             $binary_data = base64_decode($encoded_data);
             //caminho onde será gravado
             $destinationPath = base_path() . '/public/images/persons';
             // Salva no path definido, alterando o nome da imagem com o nome da pessoa
             $result = file_put_contents($destinationPath . '/' . str_replace(" ", "", $input['razaosocial']) . '_webcam.jpg', $binary_data);
         }
         /*-------------------------------------------------- FIM UPLOAD IMAGEM */
     });
     // ------------ FIM TRANSACTION
 }
 public function remover_membro($id, $pessoas_id)
 {
     if ($id != "") {
         /*Clausula where padrao para as tabelas auxiliares*/
         $where = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'celulas_id' => $id, 'pessoas_id' => $pessoas_id];
         $excluir = celulaspessoas::where($where)->delete();
     }
     return redirect($this->rota);
 }