public EditarLocalidade(Localidade localidade)
        {
            InitializeComponent();
            CarregarDados();

            Localidade = localidade;
        }
        public ListarLocalidades(Localidade[] localidades)
        {
            InitializeComponent();

            using (Aguarde aguarde = new Aguarde(
                "Carregando localidades...", localidades.Length,
                "Preparando informações",
                "Aguarde enquanto o sistema prepara as informações das localidades obtidas no banco de dados."))
            {
                hashItemLocalidade = new Dictionary<ListViewItem, Localidade>();

                foreach (Localidade localidade in localidades)
                {
                    ListViewItem item;

                    aguarde.Passo("Lendo " + localidade.Nome);

                    item = new ListViewItem(
                        new string[] {
                        localidade.Nome,
                        localidade.Estado.Nome,
                        localidade.Estado.País.Nome,
                        (localidade.Região != null ? localidade.Região.Nome :
                        (localidade.Estado.Região != null ? localidade.Estado.Região.Nome : ""))
                    });

                    lst.Items.Add(item);

                    hashItemLocalidade[item] = localidade;
                }
            }
        }
        public EditarLocalidade()
        {
            InitializeComponent();

            localidade = new Localidade();

            CarregarDados();
        }
        protected override bool NecessárioPesquisar()
        {
            if (localidade == null || localidade.Nome != TextBox.Text)
            {
                if (localidade != null && localidade.Nome != null && localidade.Nome.Trim().Length > 0)
                    CriarNovaLocalidadeSimples();
                else
                    localidade = null;

                return true;
            }

            return false;
        }
 private void MostrarMensagemLocalidadesSemelhantes(Localidade localidade)
 {
     MessageBox.Show(
         ParentForm,
         "Foram encontradas uma ou mais localidades com nome semelhante a " + localidade.Nome + ".\n\nPor favor, verifique se a localidade desejada encontra-se na lista que irá ser exibida a seguir. Caso a encontre, escolha-a e pressione \"OK\". Caso contrário, pressione \"Cancelar\" para iniciar o processo de cadastramento de localidade.",
         "Localidade", MessageBoxButtons.OK, MessageBoxIcon.Information);
 }
        /// <summary>
        /// Questiona ao usuário se a localidade a ser cadastrada
        /// encontra-se na lista de localidades semelhantes.
        /// </summary>
        /// <param name="localidade">Localidade a ser cadastrada.</param>
        /// <param name="ignorarCadastro">Se o cadastro deve ser ignorado.</param>
        /// <param name="aux">Vetor de localidades semelhantes.</param>
        private void QuestionarSemelhantes(Localidade localidade, out bool ignorarCadastro, Localidade[] aux)
        {
            AguardeDB.Suspensão(true);

            MostrarMensagemLocalidadesSemelhantes(localidade);

            using (ListarLocalidades dlg = new ListarLocalidades(aux))
            {
                if (dlg.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    CopiaCadastro(localidade, dlg);
                    ignorarCadastro = true;
                }
                else
                    ignorarCadastro = false;
            }

            AguardeDB.Suspensão(false);
        }
        private bool VerificarErroGrafia(Localidade localidade, bool ignorarCadastro)
        {
            Localidade[] todas = Localidade.ObterLocalidades(localidade.Estado);
            List<Localidade> semelhantes = new List<Localidade>();
            int minDist = Math.Max(2, localidade.Nome.Length / 4);

            foreach (Localidade l in todas)
                if (DistânciaLevenshtein.CalcularDistância(localidade.Nome, l.Nome) <= minDist)
                    semelhantes.Add(l);

            if (semelhantes.Count > 0)
                QuestionarSemelhantes(localidade, out ignorarCadastro, semelhantes.ToArray());
            return ignorarCadastro;
        }
        private bool VerificarLocalidadeNãoExistente(Localidade localidade, bool ignorarCadastro)
        {
            if (localidade.Estado != null)
            {
                Localidade localidadeRecemObtida = Localidade.ObterLocalidade(localidade.Estado, localidade.Nome);

                if (localidadeRecemObtida != null)
                {
                    foreach (FieldInfo campo in Localidade.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance
                       | BindingFlags.Public))
                    {
                        campo.SetValue(localidade, campo.GetValue(localidadeRecemObtida));
                    }

                    ignorarCadastro = true;
                }
                else if (localidade.Nome != null)
                {
                    ignorarCadastro = VerificarErroGrafia(localidade, ignorarCadastro);
                }
            }

            return ignorarCadastro;
        }
        private bool VerificarNomeIncorreto(Localidade localidade, bool ignorarCadastro)
        {
            if (!ignorarCadastro)
            {
                Localidade[] aux = null;

                if (localidade.Nome != null)
                    aux = Localidade.ObterLocalidades(localidade.Nome);

                if (aux != null && aux.Length > 0)
                    QuestionarSemelhantes(localidade, out ignorarCadastro, aux);
            }

            return ignorarCadastro;
        }
        private bool AbrirJanelaCadastrarLocalidade(Acesso.Comum.DbManipulação entidade, Localidade localidade)
        {
            bool cancelar;
            using (EditarLocalidade dlg = new EditarLocalidade(localidade))
            {
                AguardeDB.Suspensão(true);
                if (dlg.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Localidade = dlg.Localidade;
                    cancelar = false;

                    System.Diagnostics.Debug.Assert(Localidade == entidade);
                }
                else
                    cancelar = true;
                AguardeDB.Suspensão(false);
            }

            return cancelar;
        }
Example #11
0
		/// <summary>
		/// Atualiza a entidade no banco de dados.
		/// </summary>
		protected override void Atualizar(IDbCommand cmd)
		{
			if (Transacionando)
				base.Atualizar(cmd);

            if (Naturalidade != null && !Naturalidade.Cadastrado && Naturalidade.Nome != null)
                CadastrarEntidade(cmd, Naturalidade);
            else if (naturalidade != null && !naturalidade.Cadastrado)
                naturalidade = null;

			cmd.CommandText = "UPDATE pessoafisica SET " +
				"sexo = " + DbTransformar(Sexo) + ", " +
				"di = " + DbTransformar(DI) + ", " +
				"diEmissor = " + DbTransformar(DIEmissor) + ", " +
				"cpf = " + DbTransformar(CPF) + ", " + 
				"nascimento = " + DbTransformar(Nascimento) + ", " +
				"estadoCivil = " + DbTransformar(EstadoCivil) + ", " +
				"naturalidade = " + (Naturalidade == null ? DbTransformar((string)null) : DbTransformar(Naturalidade.Código)) + ", " +
				"nomePai = " + DbTransformar(NomePai) + ", " +
				"nomeMae = " + DbTransformar(NomeMãe) + ", " +
                "profissao = " + DbTransformar(profissão) + " " +
				"WHERE codigo = " + DbTransformar(Código);

			cmd.ExecuteNonQuery();
		}
Example #12
0
 public static Municipio Obter(Localidade localidade)
 {
     return MapearÚnicaLinha<Municipio>("select * from fiscal_municipioibge where localidade = " + DbTransformar(localidade.Código));
 }
Example #13
0
 private void RemoverLocalidade(IDbCommand cmd, Localidade localidade)
 {
     localidade.Região = null;
     localidade.Atualizar();
     CacheDb.Instância.Remover(localidade);
 }
Example #14
0
        private void AtualizarLocalidade(IDbCommand cmd, Localidade localidade)
        {
            if (localidade.Região != this)
                localidade.Região = this;

            localidade.Atualizar();
            CacheDb.Instância.Remover(localidade);
        }
Example #15
0
        private void InserirLocalidade(IDbCommand cmd, Localidade localidade)
        {
            localidade.Região = this;

            if (localidade.Cadastrado)
                localidade.Atualizar();
            else
                localidade.Cadastrar();

            CacheDb.Instância.Remover(localidade);
        }
 private void CopiaCadastro(Localidade localidade, ListarLocalidades dlg)
 {
     foreach (FieldInfo campo in Localidade.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public))
         campo.SetValue(localidade, campo.GetValue(dlg.Seleção));
 }
Example #17
0
        internal static Localidade Obter(IDataReader leitor, int incioParametrosLocalidade)
        {
            Localidade localidade = new Localidade();

            localidade.código = (ulong) leitor.GetInt64(incioParametrosLocalidade);
            localidade.nome = leitor.GetString(incioParametrosLocalidade + 1);
            localidade.estado = Estado.ObterEstado((ulong) leitor.GetInt64(incioParametrosLocalidade + 2));
            localidade.tipo = (TipoLocalidade) Enum.ToObject(typeof(TipoLocalidade), leitor.GetInt32(incioParametrosLocalidade + 3));
            
            if (!leitor.IsDBNull(incioParametrosLocalidade + 4))
                localidade.ddd = (uint) leitor.GetInt32(incioParametrosLocalidade + 4);

            localidade.região = leitor.IsDBNull(incioParametrosLocalidade + 5) ? null : 
                Região.ObterRegião((uint) leitor.GetInt32(incioParametrosLocalidade + 5));

            return localidade;
        }
        /// <summary>
        /// Ocorre quando usuário clica em procurar.
        /// </summary>
        protected override void AoClicarBtnProcurar(object sender, EventArgs e)
        {
            if (Text.Trim().Length > 3)
            {
                Localidade[] localidades;

                AguardeDB.Mostrar();

                try
                {
                    localidades = Localidade.ObterLocalidades(Text);
                }
                finally
                {
                    AguardeDB.Fechar();
                }

                using (ListarLocalidades dlg = new ListarLocalidades(localidades))
                {
                    if (dlg.ShowDialog(ParentForm) == DialogResult.OK)
                    {
                        Localidade = dlg.Seleção;
                        DispararAoAlterar();
                    }
                    else
                        base.AoClicarBtnProcurar(sender, e);
                }
            }
            else
                base.AoClicarBtnProcurar(sender, e);
        }
Example #19
0
		/// <summary>
		/// Cadastra a entidade no banco de dados.
		/// </summary>
		protected override void Cadastrar(IDbCommand cmd)
		{
			if (Transacionando)
				base.Cadastrar(cmd);

            if (naturalidade != null && !naturalidade.Cadastrado && naturalidade.Nome != null && Naturalidade.Nome != null)
                CadastrarEntidade(cmd, naturalidade);
            else if (naturalidade != null && !naturalidade.Cadastrado)
                naturalidade = null;

			cmd.CommandText = "INSERT INTO pessoafisica (codigo, sexo, di, diEmissor, cpf, " +
				"nascimento, estadoCivil, naturalidade, nomePai, nomeMae, profissao) VALUES (" +
				DbTransformar(Código) + ", " +
				DbTransformar(Sexo) + ", " +
				DbTransformar(DI) + ", " +
				DbTransformar(DIEmissor) + ", " +
				DbTransformar(CPF) + ", " + 
				DbTransformar(Nascimento) + ", " +
				DbTransformar(EstadoCivil) + ", " +
				(Naturalidade != null ? DbTransformar(Naturalidade.Código) : DbTransformar((string)null)) + ", " +
				DbTransformar(NomePai) + ", " +
                DbTransformar(NomeMãe) + ", " +
				DbTransformar(Profissão) + ")";

			cmd.ExecuteNonQuery();
		}
        protected override void bgRecuperação_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            Localidade[] localidades = (Localidade[])e.Result;

            if (localidades == null || localidades.Length != 1)
            {
                CriarNovaLocalidade();

                if (TxtEstado != null && TxtEstado.ReadOnly)
                    TxtEstado.Estado = null;

                if (TxtPaís != null && TxtPaís.ReadOnly)
                    TxtPaís.País = null;
            }
            else 
                Localidade = localidades[0];

            DispararAoAlterar();
        }
        private void CriarNovaLocalidadeSimples()
        {
            string nome = TextBox.Text.Trim();

            if (nome.Length > 0)
            {
                localidade = new Localidade();
                localidade.Nome = nome;
            }
            else
                localidade = new Localidade();

            if (TxtEstado != null)
                localidade.Estado = TxtEstado.Estado;

            localidade.AntesDeCadastrar += antesDeCadastrarCallback;
        }