Example #1
0
        protected override void  bgRecuperação_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            Estado[] estados = (Estado[])e.Result;

            if (estados == null || estados.Length != 1)
            {
                bool ok = false;

                foreach (Estado estado in estados)
                    if (estado.Sigla.ToUpper() == TextBox.Text.ToUpper())
                    {
                        Estado = estado;
                        ok = true;
                        break;
                    }

                if (!ok)
                    CriarNovoEstado();
            }
            else // if (estados.Length == 1)
                Estado = estados[0];

            DispararAoAlterar();
        }
        private void btnAdicionarEstado_Click(object sender, EventArgs e)
        {
            Estado estado = new Estado();

            if (estadoOriginal != null)
                estado.Nome = estadoOriginal;

            estado.País = cmbPaís.SelectedItem as País;

            using (EditarEstado dlg = new EditarEstado(estado))
            {
                if (dlg.ShowDialog(this) == DialogResult.OK)
                {
                    AguardeDB.Mostrar();

                    try
                    {
                        dlg.Estado.Cadastrar();
                    }
                    catch
                    {
                        MessageBox.Show(
                            this,
                            "Não foi possível cadastrar o estado.",
                            "Cadastro de estado",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error);

                        AguardeDB.Fechar();

                        return;
                    }

                    CarregarDados();

                    cmbPaís.SelectedIndex = cmbPaís.FindStringExact(dlg.Estado.País.Nome);
                    cmbEstado.SelectedIndex = cmbEstado.FindStringExact(dlg.Estado.Nome);

                    localidade.Estado = dlg.Estado;

                    AguardeDB.Fechar();
                }
            }
        }
Example #3
0
        /// <summary>
        /// Cria uma nova localidade.
        /// </summary>
        private void CriarNovoEstado()
        {
            if (bgRecuperação.IsBusy)
                bgRecuperação.CancelAsync();

            string nome = TextBox.Text.Trim();

            if (nome.Length > 0)
            {
                estado = new Estado();
                estado.Nome = nome;
            }
            else
                estado = new Estado();

            if (TxtPaís != null)
                estado.País = TxtPaís.País;

            estado.AntesDeCadastrar += new Acesso.Comum.DbManipulação.DbManipulaçãoCancelávelHandler(CadastrarEstado);

            Estado = estado;
        }
Example #4
0
 protected override bool NecessárioPesquisar()
 {
     if (estado == null || estado.Nome != TextBox.Text)
     {
         estado = null;
         return true;
     }
     else
         return false;
 }
Example #5
0
 private void RemoverEstado(IDbCommand cmd, Estado estado)
 {
     estado.Região = null;
     estado.Atualizar();
     CacheDb.Instância.Remover(estado);
 }
Example #6
0
        /// <summary>
        /// Requisita dados do usuário para o cadastro do estado.
        /// </summary>
        /// <param name="entidade">Estado a ser cadastrado.</param>
        /// <param name="cancelar">Se a operação deve ser cancelada.</param>
        public void CadastrarEstado(Acesso.Comum.DbManipulação entidade, out bool cancelar)
        {
            Estado estado = (Estado)entidade;

            using (EditarEstado dlg = new EditarEstado(estado))
            {
                if (dlg.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    Estado = dlg.Estado;
                    cancelar = false;

                    System.Diagnostics.Debug.Assert(Estado == entidade);
                }
                else
                    cancelar = true;
            }
        }
Example #7
0
        private void InserirEstado(IDbCommand cmd, Estado estado)
        {
            estado.Região = this;

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

            CacheDb.Instância.Remover(estado);
        }
Example #8
0
        private void AtualizarEstado(IDbCommand cmd, Estado estado)
        {
            if (estado.Região != this)
                estado.Região = this;

            estado.Atualizar();
            CacheDb.Instância.Remover(estado);
        }
Example #9
0
        /// <summary>
        /// Constrói uma janela para edição de um estado já existente.
        /// </summary>
        public EditarEstado(Estado estado)
        {
            InitializeComponent();

            Estado = estado;
        }
Example #10
0
        /// <summary>
        /// Constrói uma janela para edição de um novo estado.
        /// </summary>
        public EditarEstado()
        {
            InitializeComponent();

            estado = new Estado();
        }
Example #11
0
 public static Localidade[] ObterLocalidades(Estado estado)
 {
     return Mapear<Localidade>(
         "SELECT * FROM localidade WHERE estado = " + DbTransformar(estado.Código) + " ORDER BY nome").ToArray();
 }
Example #12
0
 public static Localidade[] ObterLocalidades(Estado estado, Região região)
 {
     return Mapear<Localidade>(
         "SELECT l.* FROM localidade l, estado e WHERE l.estado = e.codigo " +
         "AND (e.regiao = " + DbTransformar(região.Código) +
         " OR l.regiao = " + DbTransformar(região.Código) + 
         " OR l.estado = " + DbTransformar(estado.Código) + ")").ToArray();
 }
Example #13
0
        public static Localidade ObterLocalidade(Estado estado, string localidade)
        {
            if (estado == null || localidade == null)
                return null;

            return MapearÚnicaLinha<Localidade>(
                "SELECT * FROM localidade WHERE estado = " + DbTransformar(estado.Código) + " AND nome LIKE " + DbTransformar(localidade.Trim()));
        }