Example #1
0
        private void button1_Click(object sender, System.EventArgs e)
        {
            // Tabelas do mysql
            DataSet dataSetMysql, dataSetDbf;

            Apresentação.Formulários.Aguarde aguarde;

            aguarde = new Apresentação.Formulários.Aguarde("Recuperando mysql... ", 7, "Transpondo banco de dados", "Aguarde enquanto o banco de dados é sincronizado.");
            aguarde.Abrir();
            dataSetMysql = new DataSet();
            List<IDbConnection> conexõesRemovidas = new List<IDbConnection>();
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "pessoa", conexõesRemovidas);
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "venda", conexõesRemovidas);
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "vendaitem", conexõesRemovidas);

            aguarde.Passo("Obtendo pagamentos do dbf"); aguarde.Refresh();
            Dbf dbf = new Dbf(diretório);

            dataSetDbf = new DataSet();
            dbf.AdicionarTabelaAoDataSet(dataSetDbf, "pedcom");

            Transpor(dataSetMysql, dataSetDbf);

            aguarde.Close();

            Apresentação.Formulários.AguardeDB.Mostrar();

            MySQL.GravarDataSetTodasTabelas(dataSetMysql);

            MySQL.AdicionarConexõesRemovidas(conexõesRemovidas);            
            Apresentação.Formulários.AguardeDB.Fechar();

            System.Windows.Forms.MessageBox.Show(this, "Operação bem sucedida", "fim", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
		/// <summary>
		/// Procura os dados desejados e mostra janela de resultados.
		/// </summary>
		/// <param name="tipo">Tipo de chave.</param>
		/// <param name="chave">Texto chave.</param>
		/// <returns>Pessoa escolhida ou nulo.</returns>
		private static Entidades.Pessoa.Pessoa Procurar(IWin32Window owner, TipoChave tipo, string chave)
		{
			List<Entidades.Pessoa.Pessoa> pessoas;

            using (Apresentação.Formulários.Aguarde aguarde =
                       new Apresentação.Formulários.Aguarde(
                       "Procurando no banco de dados.",
                       1,
                       "Procurando pessoas",
                       "Aguarde enquanto o sistema procura no banco de dados pelos dados fornecidos."))
            {
                aguarde.Abrir();

                switch (tipo)
                {
                    case TipoChave.Código:
                        ulong código = 0;
                        bool erro = false;

                        try
                        {
                            código = ulong.Parse(chave);
                        }
                        catch
                        {
                            erro = true;
                        }

                        if (erro)
                            pessoas = new List<Entidades.Pessoa.Pessoa> { };
                        else
                            pessoas = new List<Entidades.Pessoa.Pessoa> { Entidades.Pessoa.Pessoa.ObterPessoa(código) };
                        break;

                    case TipoChave.Nome:
                        pessoas = BuscaTextual.ObterPessoas(chave);
                        break;

                    case TipoChave.CPF:
                        pessoas = new List<Entidades.Pessoa.Pessoa>() { PessoaFísica.ObterPessoaPorCPF(chave) };
                        break;

                    case TipoChave.RG:
                        pessoas = PessoaFísica.ObterPessoasPorRG(chave);
                        break;

                    case TipoChave.CNPJ:
                        pessoas = PessoaJurídica.ObterPessoasPorCNPJ(chave);
                        break;

                    case TipoChave.Telefone:
                        pessoas = Entidades.Pessoa.Pessoa.ObterPessoasPorTelefone(chave);
                        break;

                    case TipoChave.Cidade:
                        pessoas = Entidades.Pessoa.Pessoa.ObterPessoasPorCidade(Localidade.ObterLocalidades(chave.Trim()));
                        break;

                    case TipoChave.Estado:
                        pessoas = Entidades.Pessoa.Pessoa.ObterPessoasPorEstado(Estado.ObterEstados(chave));
                        break;

                    default:
                        throw new NotSupportedException("Chave não suportada: " + Enum.GetName(typeof(TipoChave), tipo));
                }

                if (pessoas.Count == 0)
                {
                    aguarde.Close();
                    
                    const string msg = "Nenhuma pessoa foi encontrada com os dados fornecidos. ";
                    const string título = "Pesquisa de pessoa";

                    if (owner != null)
                        MessageBox.Show(
                            owner,
                            msg,
                            título,
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Exclamation);
                    else
                        MessageBox.Show(
                            msg,
                            título,
                            MessageBoxButtons.YesNo,
                            MessageBoxIcon.Exclamation);

                    return null;
                }
                else if (pessoas.Count == 1)
                    return pessoas[0];
                else
                {
                    aguarde.Passo("Preparando resultado.");

                    using (ProcurarPessoaResultados dlg = new ProcurarPessoaResultados(pessoas))
                    {
                        aguarde.Close();

                        if (dlg.ShowDialog(owner) == DialogResult.OK)
                        {
                            if (dlg.PessoaSelecionada is PessoaFísica)
                            {
                                Entidades.Pessoa.Pessoa pessoa;

                                Apresentação.Formulários.AguardeDB.Mostrar();

                                pessoa = Entidades.Pessoa.Pessoa.ObterPessoa(dlg.PessoaSelecionada.Código);

                                Apresentação.Formulários.AguardeDB.Fechar();

                                return pessoa;
                            }
                            else
                            {
                                return dlg.PessoaSelecionada;
                            }

                        }
                    }
                }
            }

			return null;
		}
        private void button1_Click(object sender, System.EventArgs e)
        {
            // Tabelas do mysql
            DataSet dataSetMysql, dataSetDbf;

            Apresentação.Formulários.Aguarde aguarde;

            aguarde = new Apresentação.Formulários.Aguarde("Recuperando do novo bd para que seja atualizado", 8, "Transpondo banco de dados", "Aguarde enquanto o banco de dados é sincronizado.");
            aguarde.Abrir();
            dataSetMysql = new DataSet();
            List<IDbConnection> conexõesRemovidas = new List<IDbConnection>();
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "pessoa", conexõesRemovidas); aguarde.Passo();
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "pagamento", conexõesRemovidas); aguarde.Passo();
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "cheque", conexõesRemovidas); aguarde.Passo();
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "dinheiro", conexõesRemovidas); aguarde.Passo();
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "notapromissoria", conexõesRemovidas); aguarde.Passo();
            MySQL.AdicionarTabelaAoDataSet(dataSetMysql, "venda", conexõesRemovidas); aguarde.Passo();
            //MySql.AdicionarTabelaAoDataSet(dataSetMysql, "vinculovendapagamento"); aguarde.Passo();

            aguarde.Passo("Lendo DBF"); aguarde.Refresh();
            Dbf dbf = new Dbf(diretório);

            dataSetDbf = new DataSet();
            dbf.AdicionarTabelaAoDataSet(dataSetDbf, "vendcli");

            Transpor(dataSetDbf, dataSetMysql);

            aguarde.Close();

            Apresentação.Formulários.AguardeDB.Mostrar();

            MySQL.GravarDataSetTodasTabelas(dataSetMysql);
            MySQL.AdicionarConexõesRemovidas(conexõesRemovidas);
            Apresentação.Formulários.AguardeDB.Fechar();
            System.Windows.Forms.MessageBox.Show(this, "Operação bem sucedida", "fim", MessageBoxButtons.OK, MessageBoxIcon.Information);

        }