package br.com.easyworkv2.fragment; import android.app.AlertDialog; import android.content.ContentValues; import android.content.DialogInterface; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import com.google.android.material.floatingactionbutton.FloatingActionButton; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import br.com.easyworkv2.controller.ControlerDadosAparelho; import br.com.easyworkv2.R; import br.com.easyworkv2.dao.SQLHelper; import br.com.easyworkv2.modelo.Bairros; import br.com.easyworkv2.modelo.Cidades; import br.com.easyworkv2.modelo.Estados; import br.com.easyworkv2.modelo.Usuarios; public class TabFragmentCadastro extends Fragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener { private EditText edtNome, edtCPF, edtLogin, edtSenha, edtEstado, edtBairro, edtCidade; private CheckBox cbUsaLocalizacao; private FloatingActionButton fab; private static final String TAG = "TabFragmentCadastro"; public TabFragmentCadastro() { } public static TabFragmentCadastro novaInstancia(int posicao) { Bundle bundle = new Bundle(); String ARG_POSITION = "arg_position"; bundle.putInt(ARG_POSITION, posicao); TabFragmentCadastro fragment = new TabFragmentCadastro(); fragment.setArguments(bundle); return fragment; } @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceBundle) { View fragView = inflater.inflate(R.layout.fragment_cadastro, container, false); inicializaComponente(fragView); fab.setOnClickListener(this); cbUsaLocalizacao.setOnCheckedChangeListener(this); return fragView; } private void inicializaComponente(View view) { edtNome = view.findViewById(R.id.edtCadNome); edtCPF = view.findViewById(R.id.edtCadCPF); edtLogin = view.findViewById(R.id.edtCadLogin); edtSenha = view.findViewById(R.id.edtCadSenha); edtEstado = view.findViewById(R.id.edtCadEstado); edtBairro = view.findViewById(R.id.edtCadBairro); edtCidade = view.findViewById(R.id.edtCadCidade); fab = view.findViewById(R.id.fab); cbUsaLocalizacao = view.findViewById(R.id.cbUsaLocalizacao); } private boolean inserirUsuarios() { String nomeDigitado = edtNome.getText().toString(); String cpfDigitado = edtCPF.getText().toString(); String loginDigitado = edtLogin.getText().toString(); String senhaDigitado = edtSenha.getText().toString(); int indexEstado = 0; int indexBairro = 0; int indexCidade = 0; if (nomeDigitado.equals("") || nomeDigitado.isEmpty()) { edtNome.setError("Verifique o campo !"); return false; } else if (cpfDigitado.equals("") || cpfDigitado.isEmpty()) { edtCPF.setError("Verifique o campo !"); return false; } else if (loginDigitado.equals("") || loginDigitado.isEmpty()) { edtLogin.setError("Verifique o campo !"); return false; } try { Usuarios usuarios = new Usuarios(); usuarios.setUsuario_login(loginDigitado); usuarios.setUsuario_senha(senhaDigitado); usuarios.setUsuario_nome(nomeDigitado); usuarios.setUsuario_cpf(cpfDigitado); usuarios.setUsuario_ativo(0); usuarios.set_deleted_(0); Date date = new Date(); SimpleDateFormat formataData = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); String dataFormatada = formataData.format(date); usuarios.setUsuario_dataInclusao(dataFormatada); usuarios.setPerfilUsuario_id(2); //Usuário COMUM //Verificar se existe um login na lista SQLHelper sqlHelper = new SQLHelper(getActivity()); if (sqlHelper.listaUsuarioLogin() != null) { if (sqlHelper.listaUsuarioLogin().contains(loginDigitado)) { edtLogin.setError("Login já cadastrado !"); return false; } } // /////////////////////////////// // TRATA O INSERT DO ENDEREÇO // /////////////////////////////// String estadoDigitado = edtEstado.getText().toString(); String bairroDigitado = edtBairro.getText().toString(); String cidadeDigitado = edtCidade.getText().toString(); if (estadoDigitado.equals("") || estadoDigitado.isEmpty()) { edtEstado.setError("Verifique o campo !"); return false; } else if (bairroDigitado.equals("") || bairroDigitado.isEmpty()) { edtBairro.setError("Verifique o campo !"); return false; } else if (cidadeDigitado.equals("") || cidadeDigitado.isEmpty()) { edtCidade.setError("Verifique o campo !"); return false; } List bairrosList1 = sqlHelper.listaLocalidade(estadoDigitado, cidadeDigitado, bairroDigitado); if (bairrosList1 != null) { for (Bairros bairros : bairrosList1) { indexEstado = bairros.estados.getIdEstados(); indexCidade = bairros.cidades.getIdCidade(); indexBairro = bairros.getIdBairro(); } } ContentValues valuesUsuarios = new ContentValues(); valuesUsuarios.put("Usuario_login", usuarios.getUsuario_login()); valuesUsuarios.put("Usuario_senha", usuarios.getUsuario_senha()); valuesUsuarios.put("Usuario_nome", usuarios.getUsuario_nome()); valuesUsuarios.put("Usuario_cpf", usuarios.getUsuario_cpf()); valuesUsuarios.put("Usuario_ativo", usuarios.getUsuario_ativo()); valuesUsuarios.put("_deleted_", usuarios.get_deleted_()); valuesUsuarios.put("Usuario_dataInclusao", usuarios.getUsuario_dataInclusao()); valuesUsuarios.put("PerfilUsuario_id", usuarios.getPerfilUsuario_id()); if (sqlHelper.insereUsuario(valuesUsuarios) > 0) { int usuarios1 = sqlHelper.ObterUsuario(loginDigitado, senhaDigitado).getIdUsuarios(); ContentValues valuesEndereco = new ContentValues(); valuesEndereco.put("Bairro_id", indexBairro); valuesEndereco.put("Endereco_CidadeID", indexCidade); valuesEndereco.put("Estado_id", indexEstado); valuesEndereco.put("TbUsuario_id", usuarios1); if (sqlHelper.insereEndereco(valuesEndereco) > 0) { Log.i(TAG, "Usuário Cadastrado com Sucesso!"); return true; } } } catch (Exception e) { e.printStackTrace(); } return false; } @Override public void onClick(View v) { if (v.getId() == R.id.fab) { if (inserirUsuarios()) { AlertDialog alertDialog; AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("Cadastro realizado !"); builder.setMessage("Seu cadastro foi realizado com sucesso !"); builder.setPositiveButton("Voltar a tela de login", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { limpaCampos(); } private void limpaCampos() { edtNome.setText(""); edtCPF.setText(""); edtLogin.setText(""); edtSenha.setText(""); edtEstado.setText(""); edtBairro.setText(""); edtCidade.setText(""); cbUsaLocalizacao.setActivated(false); } }); alertDialog = builder.create(); alertDialog.show(); } else { Toast.makeText(getActivity(), "Ocorreu um erro ao inserir os registros.", Toast.LENGTH_SHORT).show(); } } } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (cbUsaLocalizacao.isChecked()) { ControlerDadosAparelho dadosControler = new ControlerDadosAparelho(getView()); dadosControler.retornaDadosLocalizacao(getActivity()); } } }