Example #1
0
 /// <summary>
 /// Carrega localidades vinculadas especificamente à região.
 /// </summary>
 private void CarregarLocalidades()
 {
     localidades = new DbComposição<Localidade>(
         Localidade.ObterLocalidades(this),
         new DbAção<Localidade>(InserirLocalidade),
         new DbAção<Localidade>(AtualizarLocalidade),
         new DbAção<Localidade>(RemoverLocalidade));
 }
Example #2
0
 private void CarregarPessoas()
 {
     pessoas = new DbComposição<Pessoa>(
         Pessoa.ObterPessoas(this),
         new DbAção<Pessoa>(InserirPessoa),
         new DbAção<Pessoa>(AtualizarPessoa),
         new DbAção<Pessoa>(RemoverPessoa));
 }
Example #3
0
 /// <summary>
 /// Ocorre ao adicionar uma foto à lista, adicionando também
 /// o álbum na lista da foto.
 /// </summary>
 /// <remarks>
 /// Como a foto pode ser desassociada do álbum por meio da
 /// entidade Álbum ou da entidade Foto, é necessário a determinação
 /// da origem da modificação.
 /// </remarks>
 void AoAdicionarFoto(DbComposição<Foto> composição, Foto entidade)
 {
     if (!entidade.Álbuns.Contains(this))
         entidade.Álbuns.Add(this);
 }
Example #4
0
 /// <summary>
 /// Carrega estados vinculados à região.
 /// </summary>
 private void CarregarEstados()
 {
     estados = new DbComposição<Estado>(
         Estado.ObterEstados(this),
         new DbAção<Estado>(InserirEstado),
         new DbAção<Estado>(AtualizarEstado),
         new DbAção<Estado>(RemoverEstado));
 }
        private void ObterRetornos()
        {
            if (Cadastrado)
            {
                retornos = new DbComposição<Retorno>(
                    Retorno.ObterRetornos(this),
                    new DbAção<Retorno>(AdicionarRetorno),
                    null,
                    new DbAção<Retorno>(RemoverRetorno));
            }
            else
                retornos = new DbComposição<Retorno>(
                    new DbAção<Retorno>(AdicionarRetorno),
                    null,
                    new DbAção<Retorno>(RemoverRetorno));

            retornos.AoAdicionar += new DbComposição<Retorno>.EventoComposição(AoAdicionarRetorno);
        }
Example #6
0
 /// <summary>
 /// Ocorre ao remover uma foto da lista, removendo também
 /// o álbum da lista da foto.
 /// </summary>
 /// <remarks>
 /// Como a foto pode ser desassociada do álbum por meio da
 /// entidade Álbum ou da entidade Foto, é necessário a determinação
 /// da origem da modificação.
 /// </remarks>
 void AoRemoverFoto(DbComposição<Foto> composição, Foto entidade)
 {
     if (entidade.Álbuns.Contains(this))
         entidade.Álbuns.Remove(this);
 }
Example #7
0
        public void TransferirPagamentosParaDébitosEmTransação(List<KeyValuePair<Pagamento, VendaDébito>> lstPagamentoDébitos)
        {
            itensDébito = null;

            VendaDébito.TransferirPagamentosParaDébitosEmTransação(lstPagamentoDébitos);
        }
Example #8
0
        private static void AtribuiEndereçosÀsPessoas(List<Pessoa> pessoas, Dictionary<ulong, DbComposição<Endereço.Endereço>> hashEndereços)
        {
            foreach (Pessoa p in pessoas)
            {
                DbComposição<Endereço.Endereço> endereços = null;

                if (!hashEndereços.TryGetValue(p.Código, out endereços))
                    endereços = new DbComposição<Endereço.Endereço>();

                p.endereços = endereços;
            }
        }
 /// <summary>
 /// Ocorre ao remover uma venda.
 /// </summary>
 private void AoRemoverVenda(DbComposição<Venda> composição, Venda entidade)
 {
     if (entidade.AcertoConsignado != null && entidade.AcertoConsignado.Equals(this))
         entidade.DefinirAcertoConsignado(null);
 }
Example #10
0
        /// <summary>
        /// Ocorre ao adicionar um item de crédito.
        /// </summary>
        void AoAdicionarItensCrédito(DbComposição<VendaCrédito> composição, VendaCrédito entidade)
        {
            if (((VendaCrédito)entidade).Venda != this)
            {
                composição.Remover(entidade);
                throw new ApplicationException("Crédito da venda não está vinculada à venda que o cadastra.");
            }

            entidade.Alterado += new DbManipulaçãoHandler(AoAlterarCrédito);
        }
 /// <summary>
 /// Ocorre ao adicionar uma venda.
 /// </summary>
 private void AoAdicionarVenda(DbComposição<Venda> composição, Venda entidade)
 {
     GarantirConsistênciaAdição(entidade, composição);
     entidade.DefinirAcertoConsignado(this);
     entidade.AntesDeAtualizar += new DbManipulaçãoCancelávelHandler(AntesDeAtualizarRelacionamento);
 }
        /// <summary>
        /// Ocorre ao adicionar uma saída.
        /// </summary>
        void AoAdicionarSaída(DbComposição<Saída> composição, Saída entidade)
        {
            GarantirConsistênciaAdição(entidade, composição);
            entidade.DefinirAcertoConsignado(this);

            if (!Cadastrado)
                entidade.AntesDeCadastrar += new DbManipulaçãoCancelávelHandler(AntesDeCadastrarSaída);

            entidade.AntesDeAtualizar += new DbManipulaçãoCancelávelHandler(AntesDeAtualizarRelacionamento);
        }
        private void ObterVendas()
        {
            if (Cadastrado)
            {
                vendas = new DbComposição<Venda>(
                    Venda.ObterVendas(this),
                    new DbAção<Venda>(AdicionarVenda),
                    null,
                    new DbAção<Venda>(RemoverVenda));
            }
            else
                vendas = new DbComposição<Venda>(
                    new DbAção<Venda>(AdicionarVenda),
                    null,
                    new DbAção<Venda>(RemoverVenda));

            vendas.AoAdicionar += new DbComposição<Venda>.EventoComposição(AoAdicionarVenda);
            vendas.AoRemover += new DbComposição<Venda>.EventoComposição(AoRemoverVenda);
        }
Example #14
0
        /// <summary>
        /// Obtem em consulta única todos os endereços de todas as pessoas.
        /// Dado o código da pessoa, retorna sua lista de endereços
        /// </summary>
        public static Dictionary<ulong, DbComposição<Endereço>> ObterEndereços(List<Pessoa> pessoas)
        {
            // Dado o código da pessoa, retorna sua lista de endereços
            Dictionary<ulong, DbComposição<Endereço>> hash = new Dictionary<ulong, DbComposição<Endereço>>();
            Dictionary<ulong, Pessoa> hashCódigoPessoa = new Dictionary<ulong, Pessoa>();

            if (pessoas.Count == 0)
                return hash;

            foreach (Pessoa p in pessoas)
                hashCódigoPessoa[p.Código] = p;

            IDbConnection conexão = Conexão;
            IDataReader leitor = null;
            List<ulong> localidadesCódigo = new List<ulong>();

            lock (conexão)
            {
                Usuários.UsuárioAtual.GerenciadorConexões.RemoverConexão(conexão);
                using (IDbCommand cmd = conexão.CreateCommand())
                {
                    try
                    {
                        bool primeiro = true;
                        StringBuilder consulta = new StringBuilder("SELECT * FROM endereco " +
                            " JOIN localidade on endereco.localidade=localidade.codigo WHERE pessoa IN (");

                        foreach (Pessoa p in pessoas)
                        {
                            if (!primeiro)
                                consulta.Append(", ");

                            consulta.Append(DbTransformar(p.Código));
                            primeiro = false;
                        }
                        consulta.Append(")");

                        cmd.CommandText = consulta.ToString();

                        using (leitor = cmd.ExecuteReader())
                        {

                            while (leitor.Read())
                            {
                                Endereço novo = new Endereço();
                                uint idPessoa = (uint)leitor.GetInt32(0);
                                novo.id = (uint)leitor.GetInt32(1);
                                novo.pessoa = hashCódigoPessoa[idPessoa];
                                novo.descrição = leitor.GetString(2);
                                novo.logradouro = leitor.GetString(3);
                                novo.cep = leitor.IsDBNull(4) ? null : leitor.GetString(4);
                                novo.bairro = leitor.IsDBNull(5) ? null : leitor.GetString(5);
                                novo.número = leitor.IsDBNull(6) ? null : leitor.GetString(6);
                                novo.complemento = leitor.IsDBNull(7) ? null : leitor.GetString(7);
                                // 9: código da localidade, mas repete no 10 que é o JOIN da localidade em sí.
                                novo.observações = leitor.IsDBNull(9) ? null : leitor.GetString(9);

                                novo.localidade = Localidade.Obter(leitor, 10);

                                DbComposição<Endereço> listaEndereços = null;

                                if (!hash.TryGetValue(idPessoa, out listaEndereços))
                                {
                                    listaEndereços = new DbComposição<Endereço>();
                                    hash[idPessoa] = listaEndereços;
                                }

                                listaEndereços.AdicionarJáCadastrado(novo);
                            }

                        }
                    }
                    finally
                    {
                        if (leitor != null)
                            leitor.Close();

                        Usuários.UsuárioAtual.GerenciadorConexões.AdicionarConexão(conexão);
                    }
                }
            }

            return hash;
        }
        private void bg_DoWork(object sender, DoWorkEventArgs e)
        {
            int x = 0;

            switch (tipo)
            {
                case Tipo.Saída:
                    saídas = acerto.Saídas;
                    gráficosSaídas = new Control[saídas.ContarElementos()];

                    foreach (Relacionamento saída in saídas)
                        gráficosSaídas[x++] = Construir(saída);

                    break;

                case Tipo.Retorno:
                    retornos = acerto.Retornos;
                    gráficosRetornos = new Control[retornos.ContarElementos()];

                    foreach (Relacionamento retorno in retornos)
                        gráficosRetornos[x++] = Construir(retorno);
                    break;

                case Tipo.Venda:
                    vendas = VendaAcerto.ObterVendas(acerto);
                    gráficosVendas = new Control[vendas.Count];

                    foreach (VendaAcerto venda in vendas)
                        gráficosVendas[x++] = Construir(venda);

                    break;
            }
        }
Example #16
0
        private void CarregarEndereços()
        {
            endereços = new DbComposição<Entidades.Pessoa.Endereço.Endereço>();

            if (Cadastrado)
                endereços.AdicionarJáCadastrado(Endereço.Endereço.ObterEndereços(this));
        }
Example #17
0
        /// <summary>
        /// Recupera lista de fotos associadas.
        /// </summary>
        private void RecuperarFotos()
        {
            if (!Cadastrado)
            {
                fotos = new DbComposição<Foto>(
                    new DbAção<Foto>(AdicionarFoto),
                    null,
                    new DbAção<Foto>(RemoverFoto));
            }
            else
            {
                fotos = new DbComposição<Foto>(
                    Foto.ObterFotos(this),
                    new DbAção<Foto>(AdicionarFoto),
                    null,
                    new DbAção<Foto>(RemoverFoto));
            }

            fotos.AoAdicionar += new DbComposição<Foto>.EventoComposição(AoAdicionarFoto);
            fotos.AoRemover += new DbComposição<Foto>.EventoComposição(AoRemoverFoto);
        }
Example #18
0
        public void AdicionarJáCadastrado(Telefone[] tels)
        {
            telefones = new DbComposição<Telefone>();

            if (Cadastrado)
                telefones.AdicionarJáCadastrado(tels);
        }
        private void ObterSaídas()
        {
            if (Cadastrado)
            {
                saídas = new DbComposição<Saída>(
                    Saída.ObterSaídas(this),
                    new DbAção<Saída>(AdicionarSaída),
                    null,
                    new DbAção<Saída>(RemoverSaída));
            }
            else
                saídas = new DbComposição<Saída>(
                    new DbAção<Saída>(AdicionarSaída),
                    null,
                    new DbAção<Saída>(RemoverSaída));

            saídas.AoAdicionar += new DbComposição<Saída>.EventoComposição(AoAdicionarSaída);
            saídas.AoRemover += new DbComposição<Saída>.EventoComposição(AoRemoverSaída);
        }