Ejemplo n.º 1
0
        private async void btnCadastrar_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            #region Validations
            //Checar se é anonima e todos estão preenchidos
            if (!rdbAnonSim.IsChecked == true)
            {
                //Não é anonima, realizar validações
                if (txtNome.Text == "" || cmbTipo.Text == "" || txtDocumento.Text == "" || cmbEmissor.Text == "")
                {
                    await this.ShowMessageAsync("Aviso", "Todos os campos com '*' são obrigatórios!");

                    return;
                }

                //Se Email for preenchido, realizar validação
                if (txtEmail.Text != "")
                {
                    bool certo = validaEmail(txtEmail.Text);
                    if (!certo)
                    {
                        await this.ShowMessageAsync("Aviso", "Email inválido!");

                        txtEmail.Focus();
                        return;
                    }
                }

                //Se CPF for preenchido, realizar validação
                if (txtCpf.Text != "___.___.___-__")
                {
                    int cpf = txtCpf.Text.IndexOf('_');
                    if (cpf != -1)
                    {
                        await this.ShowMessageAsync("Aviso", "Formato de CPF incorreto!");

                        txtCpf.Focus();
                        return;
                    }
                }
            }

            //Checar se estão preenchidos (os não anonimos)
            if (txtCep.Text == "" || txtLogradouro.Text == "" || txtNumero.Text == "" || txtBairro.Text == "" || txtCidade.Text == "" || cmbEstado.Text == "" || txtTelefone.Text == "" || txtCitDenuncia.Text == "")
            {
                await this.ShowMessageAsync("Aviso", "Todos os campos com '*' são obrigatórios");

                return;
            }
            else
            {
                //Validar CEP
                int cep = txtCep.Text.IndexOf('_');
                if (cep != -1)
                {
                    await this.ShowMessageAsync("Aviso", "Formato de CEP incorreto!");

                    txtCep.Focus();
                    return;
                }
                //Validar Telefone
                if (txtTelefone.Text.Length != 10)
                {
                    await this.ShowMessageAsync("Aviso", "Formato de telefone incorreto!");

                    txtTelefone.Focus();
                    return;
                }
            }

            #endregion

            #region TO
            Denuncia objDenuncia = new Denuncia();
            objDenuncia.setNome(txtNome.Text);
            objDenuncia.setEmail(txtEmail.Text);
            objDenuncia.setTipoDocumento(cmbTipo.Text);
            objDenuncia.setNumeroDocumento(txtDocumento.Text);
            if (cmbEmissor.Text != "")
            {
                string _emissor = cmbEmissor.Text.Substring(0, cmbEmissor.Text.IndexOf(" "));
                objDenuncia.setEmissor(_emissor);
            }
            else
            {
                objDenuncia.setEmissor(cmbEmissor.Text);
            }
            if (txtCpf.Text == "___.___.___-__")
            {
                objDenuncia.setCpf("");
            }
            else
            {
                objDenuncia.setCpf(txtCpf.Text);
            }
            objDenuncia.setCep(txtCep.Text);
            objDenuncia.setLogradouro(txtLogradouro.Text);
            objDenuncia.setNumero(txtNumero.Text);
            objDenuncia.setComplemento(txtComplemento.Text);
            objDenuncia.setBairro(txtBairro.Text);
            objDenuncia.setCidade(txtCidade.Text);
            objDenuncia.setEstado(cmbEstado.Text);
            objDenuncia.setTelefone(txtTelefone.Text);
            objDenuncia.setCelular(txtCelular.Text);
            objDenuncia.setDenuncia(txtCitDenuncia.Text);

            #endregion

            OracleConnection Oracon = new OracleConnection(db.oradb);
            if (idDenuncia == null)
            {
                #region CADASTRAR
                try
                {
                    Oracon.Open();

                    OracleCommand insertCommand = new OracleCommand(SQL_INSERT, Oracon);

                    insertCommand.Parameters.Add("nome_denunciante", objDenuncia.getNome());
                    insertCommand.Parameters.Add("email", objDenuncia.getEmail());
                    insertCommand.Parameters.Add("tipo_documento", objDenuncia.getTipoDocumento());
                    insertCommand.Parameters.Add("numero_documento", objDenuncia.getNumeroDocumento());
                    insertCommand.Parameters.Add("emissor_documento", objDenuncia.getEmissor());
                    insertCommand.Parameters.Add("cpf", objDenuncia.getCpf());
                    insertCommand.Parameters.Add("cep", objDenuncia.getCep());
                    insertCommand.Parameters.Add("logradouro", objDenuncia.getLogradouro());
                    insertCommand.Parameters.Add("numero", objDenuncia.getNumero());
                    insertCommand.Parameters.Add("complemento", objDenuncia.getComplemento());
                    insertCommand.Parameters.Add("bairro", objDenuncia.getBairro());
                    insertCommand.Parameters.Add("cidade", objDenuncia.getCidade());
                    insertCommand.Parameters.Add("estado", objDenuncia.getEstado());
                    insertCommand.Parameters.Add("telefone", objDenuncia.getTelefone());
                    insertCommand.Parameters.Add("celular", objDenuncia.getCelular());
                    insertCommand.Parameters.Add("denuncia", objDenuncia.getDenuncia());
                    insertCommand.ExecuteNonQuery();

                    Oracon.Close();

                    await this.ShowMessageAsync("Aviso", "Denúncia registrada com sucesso!");

                    this.wndDenuncia_Loaded(null, null);
                    this.btnLimpar_Click(null, null);
                    gConsultar.IsSelected = true;
                }
                catch (OracleException ex)
                {
                    MessageBox.Show(ex.Message);
                }

                #endregion
            }
            else
            {
                #region ATUALIZAR

                try
                {
                    Oracon.Open();

                    OracleCommand updateCommand = new OracleCommand(SQL_UPDATE + idDenuncia, Oracon);

                    updateCommand.Parameters.Add("nome_denunciante", objDenuncia.getNome());
                    updateCommand.Parameters.Add("email", objDenuncia.getEmail());
                    updateCommand.Parameters.Add("tipo_documento", objDenuncia.getTipoDocumento());
                    updateCommand.Parameters.Add("numero_documento", objDenuncia.getNumeroDocumento());
                    updateCommand.Parameters.Add("emissor_documento", objDenuncia.getEmissor());
                    updateCommand.Parameters.Add("cpf", objDenuncia.getCpf());
                    updateCommand.Parameters.Add("cep", objDenuncia.getCep());
                    updateCommand.Parameters.Add("logradouro", objDenuncia.getLogradouro());
                    updateCommand.Parameters.Add("numero", objDenuncia.getNumero());
                    updateCommand.Parameters.Add("complemento", objDenuncia.getComplemento());
                    updateCommand.Parameters.Add("bairro", objDenuncia.getBairro());
                    updateCommand.Parameters.Add("cidade", objDenuncia.getCidade());
                    updateCommand.Parameters.Add("estado", objDenuncia.getEstado());
                    updateCommand.Parameters.Add("telefone", objDenuncia.getTelefone());
                    updateCommand.Parameters.Add("celular", objDenuncia.getCelular());
                    updateCommand.Parameters.Add("denuncia", objDenuncia.getDenuncia());
                    if (isNotRevised)
                    {
                        updateCommand.Parameters.Add("revisada", "não");
                    }
                    else
                    {
                        updateCommand.Parameters.Add("revisada", "sim");
                    }
                    updateCommand.ExecuteNonQuery();

                    Oracon.Close();

                    await this.ShowMessageAsync("Aviso", "Denúncia atualizada com sucesso");

                    this.wndDenuncia_Loaded(null, null);
                    this.btnLimpar_Click(null, null);
                    gConsultar.IsSelected = true;
                    if (!isNotRevised)
                    {
                        btnRevisada_Click(null, null);
                    }
                }
                catch (OracleException ex)
                {
                    MessageBox.Show(ex.Message);
                }

                #endregion
            }
        }