예제 #1
0
        /// <summary>
        /// Busca no banco de dados uma cidade com nome que contenha string informada por parametro, filtra por estado caso codigo do estado seja informado
        /// </summary>
        /// <param name="estadoId">entre 1 e 26 lista apenas do estado selecionado</param>
        /// <param name="cidNome">Cidade procurada no banco</param>
        /// <returns>Lista de Cidades</returns>
        public List<Model.pessoas.Cidade> BuscarCidadePorNome(int estadoId = 0, string cidNome = "")//testada ok em 29/01/2014 by GM
        {
            _bd = new Persistencia();
            var listaCidades = new List<Model.pessoas.Cidade>();
           
            var sql = "SELECT id, nome, uf FROM CIDADES WHERE Nome like @cidNome"; 
            _bd.Cmd.Parameters.AddWithValue("@cidNome", "%" + cidNome + "%");
            if (estadoId > 0 && estadoId <= 26)
            {
                sql += " and UF_ID = @ufId";
                _bd.Cmd.Parameters.AddWithValue("@ufId", estadoId);
            }
            _bd.Cmd.CommandText = sql;

            DataTable dt = _bd.ExecuteReader();

            foreach (DataRow linha in dt.Rows)
            {
                try
                {
                    var cidade = new Model.pessoas.Cidade(Convert.ToInt32(linha["ID"]), linha["NOME"].ToString(), linha["uf"].ToString());
                    listaCidades.Add(cidade);
                }
                catch
                {
                    //erro
                }
            }

            return listaCidades;

        }
예제 #2
0
        //ultima modificacao/checagem em 14/01/2014 funcionando! by GM
        /// <summary>
        /// Recupera Id de do Endereco(endId) e do Fornecedor(pesId) ativos no sistema
        /// </summary>
        /// <param name="linha"></param>
        /// <returns></returns>
        public bool Recuperar(Linha linha)
        {
            _bd = new Persistencia();
            var listaFrn = new List<FornecedorLinha>();
            try
            {
                _bd.Cmd.CommandText = @"Select fornecedor_id, endereco_id, sequencia from enderecosLinha
                inner join pessoas pes on pes.id = fornecedor_id
                where linha_id = @linhaId and pes.status =1 order by sequencia";
                _bd.Cmd.Parameters.AddWithValue("@linhaId", linha.Id);

                DataTable listaFornecedoresBD = _bd.ExecuteReader();

                foreach (DataRow fornecedor in listaFornecedoresBD.Rows)
                {
                    listaFrn.Add(
                        new FornecedorLinha(
                        Convert.ToInt32(fornecedor["sequencia"]),
                        new Endereco(Convert.ToInt32(fornecedor["endereco_id"]), new Pessoa(Convert.ToInt32(fornecedor["fornecedor_id"]))//
                                )//endereco
                                )//fn linha
                                );
                }

            }
            catch (Exception)
            {
                return false;
            }
            linha.Fornecedores = listaFrn;
            return true;
        }
예제 #3
0
        /// <summary>
        /// Lista Pessoas(id, nome, tipo) que contenha string passada por parametro no nome 
        /// </summary>
        /// <param name="nome">nome procurado</param>
        /// <param name="desativos">exibir pessoas desativadas do sistema </param>
        /// <returns>Lista com os nome</returns>
        public List<Pessoa> BuscaPorNome(string nome = "", bool desativos = false, char tipo='t')
        {
            var dados = new DataTable();
            _bd = new Persistencia();
            var _sql = @"Select pes.id, pes.nome, pes.tipo from Pessoas pes where pes.nome like @nome";

            _sql += desativos ? "" : " and pes.status =1";//se desativos verdadeiro o sql exibe todos nomes do sistema, do contrário só os ativos (status =1)

            if (tipo != 't')
            { //se o tipo for diferente de 't' (todos) aplicar filtro para tipo informado (f ou j)
                _sql += " and pes.tipo = @tipo";
                _bd.Cmd.Parameters.AddWithValue("@tipo", tipo);
            }

            _bd.Cmd.CommandText = _sql; //aplicacao final da sql

            _bd.Cmd.Parameters.AddWithValue("@nome", "%" + nome + "%");
            dados = _bd.ExecuteReader();

            var listaPes = new List<Pessoa>();

            foreach (DataRow linha in dados.Rows)
            {
                try
                {
                    listaPes.Add(new Pessoa(Convert.ToInt32(linha["id"]), linha["nome"].ToString(), Convert.ToChar(linha["tipo"])));
                }
                catch
                {
                    //erro
                }
            }

            return listaPes;
        }
예제 #4
0
        /// <summary>
        /// Lista Pessoas(id, nome, tipo) que contenha string passada por parametro no nome 
        /// </summary>
        /// <param name="nome">nome procurado</param>
        /// <param name="desativos">exibir pessoas desativadas do sistema </param>
        /// <returns>Lista com os nome</returns>
        public List<Pessoa> BuscaPorNome(string nome, bool desativos, char tipo)
        {
            DataTable pessoas;
            _bd = new Persistencia();
            var sql = @"Select p.id, p.nome, p.tipo from Pessoas p where p.nome like @nome and id>0";
            //se "desativos" verdadeiro, o sql exibe todos nomes do sistema, do contrário só os ativos (status =1)
            sql += desativos ? "" : " and p.excluido =0";

            if (tipo != 't')
            { //se o tipo for diferente de 't' (todos) aplicar filtro para tipo informado (f ou j)
                sql += " and p.tipo = @tipo";
                _bd.Cmd.Parameters.AddWithValue("@tipo", tipo);
            }

            _bd.Cmd.CommandText = sql; //aplicacao final da sql

            _bd.Cmd.Parameters.AddWithValue("@nome", "%" + nome + "%");
            pessoas = _bd.ExecuteReader();

            var listaPes = new List<Pessoa>();

            foreach (DataRow pessoa in pessoas.Rows)
            {
                try
                {
                    listaPes.Add(new Pessoa(Convert.ToInt32(pessoa["id"]), pessoa["nome"].ToString(), Convert.ToChar(pessoa["tipo"])));
                }
                catch
                {
                    //erro
                }
            }

            return listaPes;
        }
예제 #5
0
        /// <summary>
        /// Recupera uma Categoria de Conta no Banco de Dados
        /// </summary>
        /// <param name="banco">Obj Banco com id Valida </param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Recuperar(Banco banco)
        {
            _bd = new Persistencia();

            try
            {
                _bd.Cmd.CommandText = @"select descricao, cod from Bancos where id = @id";
                _bd.Cmd.Parameters.AddWithValue("@id", banco.Id);
                DataTable dado = _bd.ExecuteReader();

                banco.Descricao = dado.Rows[0]["descricao"].ToString() + " - " + dado.Rows[0]["cod"].ToString();
            }
            catch
            {
                return false;
            }
            return true;
        }
예제 #6
0
        //ultima modificacao/checagem em 06/02/2014 funcionando! by GM
        public List<Conta> BuscarPorDescricao(string descricao, bool desativos = false)
        {
            var lista = new List<Conta>();
            _bd = new Persistencia();
            var sql = @"select id, pes_id, descricao from contas where descricao like @descricao ";

            if (!desativos)
                sql += "and status = 1";
            _bd.Cmd.CommandText = sql;
            _bd.Cmd.Parameters.AddWithValue("@descricao", "%" + descricao + "%");
            DataTable listaBd =  _bd.ExecuteReader();

            foreach (DataRow linha in listaBd.Rows)//em cada linha da lista
            {
                lista.Add(new Conta(Convert.ToInt32(linha["id"]),linha["descricao"].ToString(),new Pessoa(Convert.ToInt32(linha["pes_id"]))));
            }

            return lista;
        }
예제 #7
0
        /// <summary>
        /// Busca por descricao o nome de um Banco Nacional no banco de dados
        /// </summary>
        /// <param name="descricao">descricao de um banco procurado</param>
        /// <returns>Lista que contenha descricao informada</returns>
        public List<Banco> Buscar(string descricao)
        {
            _bd = new Persistencia();
            var lista = new List<Banco>();
            try
            {
                _bd.Cmd.CommandText = @"Select id, descricao, cod from Bancos where descricao like @descricao order by descricao";
                _bd.Cmd.Parameters.AddWithValue("@descricao", "%" + descricao + "%");

                DataTable dados = _bd.ExecuteReader();
                foreach (DataRow banco in dados.Rows)
                {
                    lista.Add(new Banco(Convert.ToInt32(banco["id"]), banco["descricao"].ToString() + " - " + banco["cod"].ToString()));
                }
            }
            catch (Exception)
            {

            }

            return lista;
        }
예제 #8
0
        /// <summary>
        /// Busca por descricao ContaCaixa no banco de dados
        /// </summary>
        /// <param name="descricao">descricao da ContaCaixa procurada</param>
        /// <returns>Lista que contenha descricao informada</returns>
        public List<ContaCaixa> Buscar(string descricao)
        {
            var bd = new Persistencia();
            var lista = new List<ContaCaixa>();
            try
            {
                bd.Cmd.CommandText = @"Select id, descricao from contasCaixa where descricao like @descricao and excluida = @excluida order by descricao";
                bd.Cmd.Parameters.AddWithValue("@descricao", "%" + descricao + "%");
                bd.Cmd.Parameters.AddWithValue("@excluida", false);//lista somente as ativas!

                DataTable dados = bd.ExecuteReader();
                foreach (DataRow contaCaixa in dados.Rows)
                {
                    lista.Add(new ContaCaixa(Convert.ToInt32(contaCaixa["id"]), contaCaixa["descricao"].ToString()));
                }
            }
            catch (Exception)
            {

            }

            return lista;
        }
예제 #9
0
        /// <summary>
        /// carrega somente as 'Id' dos endereços da pessoa 
        /// </summary>
        /// <param name="pes">obj pessoa</param>
        /// <returns>verdadeiro caso não aconteça nenhum erro</returns>
        public bool CarregarIdEnderedecosPessoa(Pessoa pes)
        {
            _bd = new Persistencia();
            var listaEnderecos = new List<Endereco>();

            _bd.Cmd.CommandText = @"Select end.id from enderecos end where end.pes_id = @pesCod";
            _bd.Cmd.Parameters.AddWithValue("@pesCod", pes.Id);
            try
            {
                var enderecosBd = _bd.ExecuteReader();
                foreach (DataRow endereco in enderecosBd.Rows)
                {
                    listaEnderecos.Add(new Endereco(Convert.ToInt32(endereco["id"].ToString()), new Pessoa(pes.Id)));//somente id
                }

            }
            catch
            {
                return false;
            }
            pes.Enderecos = listaEnderecos;
            return true;
        }
예제 #10
0
        /// <summary>
        /// Busca por descricao Produtos no banco de dados
        /// </summary>
        /// <param name="descricao">descricao do produto procurado</param>
        /// <returns>Lista que contenha descricao informada</returns>
        public List<Produto> Buscar(string descricao)
        {
            _bd = new Persistencia();
            var lista = new List<Produto>();
            try
            {
                _bd.Cmd.CommandText = @"Select id, descricao, categoria_id from produtos where descricao like @descricao and excluido = @excluidos order by descricao";
                _bd.Cmd.Parameters.AddWithValue("@descricao", "%" + descricao + "%");
                _bd.Cmd.Parameters.AddWithValue("@excluidos", 0);//ativas

                DataTable dados = _bd.ExecuteReader();
                foreach (DataRow produto in dados.Rows)
                {
                    lista.Add(new Produto(Convert.ToInt32(produto["id"]), produto["descricao"].ToString(), new Categoria(Convert.ToInt32(produto["categoria_id"]))));
                }
            }
            catch (Exception)
            {
                lista = new List<Produto>();//zera lista
            }

            return lista;
        }
예제 #11
0
        /// <summary>
        /// Busca por descricao Categorias de Produto no banco de dados
        /// </summary>
        /// <param name="descricao">descricao da categoria procurada</param>
        /// /// <param name="excluidas">por padrao só lista as ativas, informe true e traga as excluidas para checagem de duplicidade </param>
        /// <returns>Lista que contenha descricao informada</returns>
        public List<Categoria> Buscar(string descricao, bool excluidas = false)
        {
            _bd = new Persistencia();
            var lista = new List<Categoria>();
            try
            {
                _bd.Cmd.CommandText = @"Select id, descricao from CategoriasProduto where descricao like @descricao and excluida = @excluidas order by descricao";
                _bd.Cmd.Parameters.AddWithValue("@descricao", "%" + descricao + "%");
                _bd.Cmd.Parameters.AddWithValue("@excluidas", excluidas);

                DataTable dados = _bd.ExecuteReader();
                foreach (DataRow categoria in dados.Rows)
                {
                    lista.Add(new Categoria(Convert.ToInt32(categoria["id"]), categoria["descricao"].ToString()));
                }
            }
            catch (Exception)
            {

            }

            return lista;
        }
예제 #12
0
        /// <summary>
        /// Busca por descricao Rotas no banco de dados
        /// </summary>
        /// <param name="descricao">descricao Rota procurada</param>
        /// <returns>Lista que contenha descricao informada</returns>
        public List<Rota> Buscar(string descricao)
        {
            _bd = new Persistencia();
            var lista = new List<Rota>();
            try
            {
                _bd.Cmd.CommandText = @"Select id, descricao from rotasColeta where descricao like @descricao and excluida = @excluida order by descricao";
                _bd.Cmd.Parameters.AddWithValue("@descricao", "%" + descricao + "%");
                _bd.Cmd.Parameters.AddWithValue("@excluida", false);

                DataTable dados = _bd.ExecuteReader();
                foreach (DataRow rota in dados.Rows)
                {
                    lista.Add(new Rota(Convert.ToInt32(rota["id"]), rota["descricao"].ToString()));
                }
            }
            catch (Exception)
            {

            }

            return lista;
        }
예제 #13
0
        public bool CarregarContato(Model.pessoas.Contato con)
        {
            _bd = new Persistencia();

            _bd.Cmd.CommandText = @"Select id, descricao, obs, tipo_id from contatos where id = @conId and pes_id = @pesCod";
            _bd.Cmd.Parameters.AddWithValue("@conId", con.Id);
            _bd.Cmd.Parameters.AddWithValue("@pesCod", con.Pessoa.Id);

            try
            {
                DataTable contatosBd = _bd.ExecuteReader();

                con.Descricao = contatosBd.Rows[0]["descricao"].ToString();
                con.Tipo = Convert.ToInt32(contatosBd.Rows[0]["tipo_id"]);
                con.Obs = contatosBd.Rows[0]["obs"].ToString();

            }
            catch
            {
                return false;
            }
            return true;
        }
예제 #14
0
        /// <summary>
        /// Recupera um produto no Banco de Dados
        /// </summary>
        /// <param name="produto">Obj produto com Descricao</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Recuperar(Produto produto)
        {
            _bd = new Persistencia();

            try
            {
                _bd.Cmd.CommandText = @"select p.descricao, c.id as c_id, c.descricao as c_descricao from produtos p left join categoriasProduto c on p.categoria_id = c.id where p.id = @id";
                _bd.Cmd.Parameters.AddWithValue("@id", produto.Id);
                DataTable dado = _bd.ExecuteReader();

                produto.Descricao = dado.Rows[0]["descricao"].ToString();
                produto.Categoria = new Categoria(Convert.ToInt32(dado.Rows[0]["c_id"].ToString()),dado.Rows[0]["c_descricao"].ToString());
            }
            catch
            {
                return false;
            }
            return true;
        }
예제 #15
0
        //ultima modificacao/checagem em 14/01/2014 funcionando! by GM
        public List<Linha> ListarLinhas(bool desativos = false)
        {
            _bd = new Persistencia();
            List<Linha> listaLinhas = new List<Linha>();
            try
            {
                string sql = @"SELECT id, descricao, status from linhasColeta";
                sql += desativos ? "" : " where status =1";//se desativados true lista todos!
                _bd.Cmd.CommandText = sql;

                DataTable linhasBD = _bd.ExecuteReader();

                foreach (DataRow linha in linhasBD.Rows)
                {
                    listaLinhas.Add(new Linha(Convert.ToInt32(linha["id"]), linha["descricao"].ToString(), Convert.ToBoolean(linha["status"])));
                }
            }
            catch (Exception)
            {

            }
            return listaLinhas;
        }
예제 #16
0
        public bool Recuperar(Linha linha)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"Select descricao, status from linhasColeta where id = @id";
                _bd.Cmd.Parameters.AddWithValue("@id", linha.Id);

                DataTable dadosBd = _bd.ExecuteReader();

                linha.Nome = dadosBd.Rows[0]["descricao"].ToString();
                linha.Status = Convert.ToBoolean(dadosBd.Rows[0]["status"]);
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
예제 #17
0
        /// <summary>
        /// Carrega dados de uma rota
        /// </summary>
        /// <param name="rota">Objeto rota com parametros validos</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Recuperar(Rota rota)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"Select descricao from rotasColeta where id = @id";
                _bd.Cmd.Parameters.AddWithValue("@id", rota.Id);

                DataTable dadosBd = _bd.ExecuteReader();

                rota.Descricao = dadosBd.Rows[0]["descricao"].ToString();
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
예제 #18
0
        /// <summary>
        /// recupera uma pessoa do sistema 09/04/2014
        /// </summary>
        /// <param name="pes">obj pessoa</param>
        /// <param name="min">Se minimo, recupera somente a descricao </param>
        /// <returns></returns>
        public bool Recuperar(Pessoa pes, bool min = false)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"Select p.nome, p.dtcad, p.tipo
                                       from pessoas p where p.id = @pesId";
                _bd.Cmd.Parameters.AddWithValue("@pesId", pes.Id);

                DataTable dadosBd = _bd.ExecuteReader();

                DateTime dtCad;

                pes.Nome = dadosBd.Rows[0]["nome"].ToString();
                if (!min)
                {
                    DateTime.TryParse(dadosBd.Rows[0]["dtcad"].ToString(), out dtCad);

                    pes.DtCad = dtCad;
                    pes.Tipo = Convert.ToChar(dadosBd.Rows[0]["tipo"].ToString());

                }

            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
예제 #19
0
 //ultima modificacao/checagem em 05/02/2014 funcionando! by GM
 public bool RecuperarIdsContasPessoa(Pessoa pes)
 {
     _bd = new Persistencia();
     var listaContas = new List<Conta>();
     try
     {
         _bd.Cmd.CommandText = @"select id from contas where status =1 and pes_id = @pesId";
         _bd.Cmd.Parameters.AddWithValue("@pesId", pes.Id);
         var contasBd = _bd.ExecuteReader();
         foreach (DataRow conta in contasBd.Rows)
         {
             listaContas.Add(new Conta(Convert.ToInt32(conta["id"]), new Pessoa(pes.Id)));//somente id
         }
         pes.Contas = listaContas;
     }
     catch
     {
         return false;
     }
     return true;
 }
예제 #20
0
        //ultima modificacao/checagem em 05/02/2014 funcionando! by GM
        public bool Recuperar(Conta conta, bool min = false)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"select id, descricao, dtcriacao, saldo, agenciaNum, contaNum, bancoNome, status from contas where id = @contaId and pes_id = @pesId";
                _bd.Cmd.Parameters.AddWithValue("@contaId", conta.Id);
                _bd.Cmd.Parameters.AddWithValue("@pesId", conta.Pessoa.Id);

                DataTable contaBd = _bd.ExecuteReader();

                conta.Descricao = contaBd.Rows[0]["descricao"].ToString();
                if (!min)
                {
                    conta.DtCriacao = Convert.ToDateTime(contaBd.Rows[0]["dtcriacao"]);
                    conta.Saldo = Convert.ToDecimal(contaBd.Rows[0]["saldo"]);
                }
                conta.Agencia = contaBd.Rows[0]["agenciaNum"].ToString();
                conta.ContaNum = contaBd.Rows[0]["contaNum"].ToString();
                conta.Banco = contaBd.Rows[0]["bancoNome"].ToString();
                conta.Status = Convert.ToBoolean(contaBd.Rows[0]["status"]);
            }
            catch
            {
                return false;
            }
            return true;
        }
예제 #21
0
        /// <summary>
        /// Recupera uma Categoria de Protudo no Banco de Dados
        /// </summary>
        /// <param name="categoria">Obj categoria com Descricao</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Recuperar(Categoria categoria)
        {
            _bd = new Persistencia();

            try
            {
                _bd.Cmd.CommandText = @"select c.descricao from categoriasProduto c  where c.id = @id";
                _bd.Cmd.Parameters.AddWithValue("@id", categoria.Id);
                DataTable dado = _bd.ExecuteReader();

                categoria.Descricao = dado.Rows[0]["descricao"].ToString();
            }
            catch
            {
                return false;
            }
            return true;
        }
예제 #22
0
        /// <summary>
        /// recupera o tipo, valor e justificativa de estorno se ouver
        /// </summary>
        /// <param name="movimento"></param>
        /// <returns></returns>
        public bool Recuperar(MovimentoCaixa movimento)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"Select credito, valor, estorno from movimentosCaixa
                                        where id = @id and caixa_id = @caixa_id";
                _bd.Cmd.Parameters.AddWithValue("@id", movimento.Id);
                _bd.Cmd.Parameters.AddWithValue("@caixa_id", movimento.ContaCaixa.Id);

                DataTable movBd = _bd.ExecuteReader();

                movimento.Credito = Convert.ToBoolean(movBd.Rows[0]["credito"]);//1 == credito 0 ==débito
                movimento.Valor = Convert.ToDecimal(movBd.Rows[0]["valor"].ToString());
                movimento.Estorno = movBd.Rows[0]["estorno"].ToString();

            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
예제 #23
0
        //ultima modificacao/checagem 17/01/2014 by GM
        public bool Recuperar(PesFisica pf)
        {
            _bd = new Persistencia();

            try
            {
                _bd.Cmd.CommandText = @"Select pf.dtNascimento, pf.cnh_validade,pf.cnh_emissao,pf.apelido,
                                       pf.rg, pf.cpf, pf.cnh_registro, pf.cnh_categoria
                                       from  pessoaFisica pf where pes_id = @pesId";

                _bd.Cmd.Parameters.AddWithValue("@pesId", pf.Id);

                DataTable dadosBd = _bd.ExecuteReader();

                //conversao de datas para evitar erro
                DateTime dtNasc;
                DateTime cnhValidade;
                DateTime cnhEmissao;
                DateTime.TryParse(dadosBd.Rows[0]["dtNascimento"].ToString(), out dtNasc);
                DateTime.TryParse(dadosBd.Rows[0]["cnh_validade"].ToString(), out cnhValidade);
                DateTime.TryParse(dadosBd.Rows[0]["cnh_emissao"].ToString(), out cnhEmissao);

                pf.Apelido = dadosBd.Rows[0]["apelido"].ToString();
                pf.DtNascimento = dtNasc;

                pf.Rg = dadosBd.Rows[0]["rg"].ToString();
                pf.Cpf = dadosBd.Rows[0]["cpf"].ToString();

                pf.CnhLetra = dadosBd.Rows[0]["cnh_categoria"].ToString();//letra cnh
                pf.Cnh = dadosBd.Rows[0]["cnh_registro"].ToString();//numero do registro cnh
                pf.CnhValidade = cnhValidade;
                pf.CnhEmissao = cnhEmissao;

            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
예제 #24
0
        /// <summary>
        /// Recupera do banco de dados as movimentacoes de uma conta de caixa em um determinado periodo
        /// </summary>
        /// <param name="contaCaixa">Conta de Caixa</param>
        /// <returns></returns>
        public bool RecuperarMovimentos(ContaCaixa contaCaixa)
        {
            _bd = new Persistencia();
            contaCaixa.Movimentacoes = new List<MovimentoCaixa>();//limpa lista
            try
            {
                _bd.Cmd.CommandText = @"select mc.id, mc.credito, mc.data, mc.valor, mc.quitacao_id, mc.estorno,
                ((select coalesce(sum(cr.valor),0) from movimentosCaixa cr where (cr.data<=mc.data AND cr.credito = 1 and cr.caixa_id = mc.caixa_id))
                - (select coalesce(sum(de.valor),0) from movimentosCaixa de where (de.data<=mc.data AND de.credito = 0 and de.caixa_id = mc.caixa_id))) as saldo
                from movimentosCaixa mc where mc.data between @dataI AND @dataF and mc.caixa_id = @caixa_id
                ORDER BY mc.data asc ";

                _bd.Cmd.Parameters.AddWithValue("@caixa_id", contaCaixa.Id);
                _bd.Cmd.Parameters.AddWithValue("@dataI", contaCaixa.DataInicial);
                _bd.Cmd.Parameters.AddWithValue("@dataF", contaCaixa.DataFinal);

                DataTable listaMovimentos = _bd.ExecuteReader();

                foreach (DataRow movimento in listaMovimentos.Rows)
                {
                    var mov = new MovimentoCaixa(
                        Convert.ToInt32(movimento["id"].ToString()),
                        Convert.ToBoolean(movimento["credito"].ToString()),
                        Convert.ToDateTime(movimento["data"].ToString()),
                        Convert.ToDecimal(movimento["valor"].ToString()),
                        movimento["estorno"].ToString(),                    //justificativa do estorno!
                        new Quitacao(string.IsNullOrEmpty(movimento["quitacao_id"].ToString())? 0 : Convert.ToInt32(movimento["quitacao_id"])),//se nao tiver vinculo informa zero "0"
                        Convert.ToDecimal(movimento["saldo"].ToString())
                        );
                    contaCaixa.Movimentacoes.Add(mov);
                }

            }
            catch (Exception)
            {
                contaCaixa.Movimentacoes = new List<MovimentoCaixa>();//limpa lista
                return false;
            }
            return true;
        }
예제 #25
0
        /// <summary>
        /// recupera as Id dos endereços da rota
        /// </summary>
        /// <param name="rota">Objeto Rota com Id desejada</param>
        /// <returns>verdadeiro se não houver erros</returns>
        public bool RecuperarEnderecos(Rota rota)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"Select fornecedor_id, endereco_id from enderecosRota where rota_id = @rotaId";
                _bd.Cmd.Parameters.AddWithValue("@rotaId", rota.Id);

                DataTable dadosBd = _bd.ExecuteReader();

                foreach (DataRow endereco in dadosBd.Rows)
                {
                    rota.Enderecos.Add(new Endereco(Convert.ToInt32(endereco["endereco_id"].ToString()), new Pessoa(Convert.ToInt32(endereco["fornecedor_id"].ToString()))));
                }
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
예제 #26
0
        /// <summary>
        /// Recupera no banco de dados um Endereço
        /// </summary>
        /// <param name="endereco">obj endereço </param>
        /// <param name="min">Se Minimo nao tras cep nem bairro nem observação do endereço</param>
        /// <returns>verdadeiro se nãou hover erro</returns>
        public bool Recuperar(Endereco endereco, bool min = false)
        {
            _bd = new Persistencia();

            _bd.Cmd.CommandText = @"Select e.id, e.logradouro, e.numero, e.bairro, e.cep, e.obs, c.id as cid_id, c.nome as cid_nome, c.uf
                                    from enderecos e
                                    inner join cidades c on e.cid_id = c.id
                                    where e.pes_id = @pesCod and e.id = @endId";
            _bd.Cmd.Parameters.AddWithValue("@pesCod", endereco.Pessoa.Id);
            _bd.Cmd.Parameters.AddWithValue("@endId", endereco.Id);
            try
            {
                DataTable endBd = _bd.ExecuteReader();

                endereco.Id = Convert.ToInt32(endBd.Rows[0]["id"]);
                endereco.Logradouro = endBd.Rows[0]["logradouro"].ToString();
                endereco.Numero = endBd.Rows[0]["numero"].ToString();
                if (!min)// se nao for endereco minimo!
                {
                    endereco.Bairro = endBd.Rows[0]["bairro"].ToString();
                    endereco.Cep = endBd.Rows[0]["cep"].ToString();
                    endereco.Obs = endBd.Rows[0]["obs"].ToString();
                }

                endereco.Cidade = new Cidade(Convert.ToInt32(endBd.Rows[0]["cid_id"]), endBd.Rows[0]["cid_nome"].ToString());
                endereco.Cidade.Uf = endBd.Rows[0]["uf"].ToString();

            }
            catch
            {
                return false;
            }
            return true;
        }
예제 #27
0
        /// <summary>
        /// Recupera uma ContaCaixa no Banco de Dados
        /// </summary>
        /// <param name="contaCaixa">Obj categoria com Descricao</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Recuperar(ContaCaixa contaCaixa)
        {
            var bd = new Persistencia();

            try
            {
                bd.Cmd.CommandText = @"select descricao, data, saldo, banco_id, agencia, cc from contasCaixa where id = @id";
                bd.Cmd.Parameters.AddWithValue("@id", contaCaixa.Id);

                DataTable dadosBd = bd.ExecuteReader();
                contaCaixa.Descricao = dadosBd.Rows[0]["descricao"].ToString();
                DateTime dataCriacao;
                DateTime.TryParse(dadosBd.Rows[0]["data"].ToString(), out dataCriacao);
                contaCaixa.DataCriacao = dataCriacao;
                contaCaixa.Agencia = dadosBd.Rows[0]["agencia"].ToString();
                contaCaixa.ContaNum = dadosBd.Rows[0]["cc"].ToString();

                contaCaixa.Saldo = Convert.ToDecimal(dadosBd.Rows[0]["saldo"].ToString());

                if (dadosBd.Rows[0]["banco_id"].ToString() != "")
                {
                    var banco = new Banco(Convert.ToInt32(dadosBd.Rows[0]["banco_id"]));
                    contaCaixa.Banco = banco;
                }
            }
            catch
            {
                return false;
            }
            return true;
        }
예제 #28
0
        /// <summary>
        /// Recupera no Banco de dados dados de uma pessoa juridica
        /// </summary>
        /// <param name="pj">Pessoa Juridica</param>
        /// <returns>verdadeiro em caso de sucesso</returns>
        public bool Recuperar(Model.pessoas.PesJuridica pj)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"Select p.nome,
                                    pj.nomeFantasia,  pj.ie, pj.cnpj
                                    from pessoas p left join pessoaJuridica pj on pes_id = p.id
                                    where p.id = @pesId";

                _bd.Cmd.Parameters.AddWithValue("@pesId", pj.Id);

                DataTable dadosBd = _bd.ExecuteReader();

                pj.Nome = dadosBd.Rows[0]["nome"].ToString();

                pj.NomeFantasia = dadosBd.Rows[0]["nomeFantasia"].ToString();

                pj.Ie = dadosBd.Rows[0]["ie"].ToString();
                pj.Cnpj = dadosBd.Rows[0]["cnpj"].ToString();

                pj.Tipo = 'j';
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
예제 #29
0
        /// <summary>
        /// Carrega a lista de contatos de uma pessoa
        /// </summary>
        /// <param name="pes">obj pessoa </param>
        /// <returns>verdadeiro caso não aconteça erro</returns>
        public bool PesContatosLoad(Model.pessoas.Pessoa pes)
        {
            _bd = new Persistencia();
            var listaContatos = new List<Model.pessoas.Contato>();

            _bd.Cmd.CommandText = @"Select id, descricao, obs, tipo from contatos where pes_id = @pesCod";
            _bd.Cmd.Parameters.AddWithValue("@pesCod", pes.Id);

            try
            {
                var contatosBd = _bd.ExecuteReader();

                foreach (DataRow contato in contatosBd.Rows)
                {
                    listaContatos.Add(
                        new Model.pessoas.Contato(
                            Convert.ToInt32(contato["id"]),
                            contato["descricao"].ToString(),
                            Convert.ToChar(contato["tipo"]),
                            contato["obs"].ToString())
                            );
                }
            }
            catch
            {
                return false;
            }
            pes.Contatos = listaContatos;
            return true;
        }
예제 #30
0
        //ultima modificacao/checagem em 14/01/2014 funcionando! by GM
        public bool Recuperar(Endereco end, bool min = false)
        {
            _bd = new Persistencia();

            _bd.Cmd.CommandText = @"Select end.id, end.logradouro, end.numero, end.bairro,
                                end.complemento, end.cep, end.principal, end.obs,
                                    cid.id as cidCod, cid.nome as cidNome, cid.uf_id
                                    from enderecos end
                                    inner join cidades cid on cid.id = end.cid_id
                                    where end.pes_id = @pesCod and end.id = @endId";
            _bd.Cmd.Parameters.AddWithValue("@pesCod", end.Pessoa.Id);
            _bd.Cmd.Parameters.AddWithValue("@endId", end.Id);
            try
            {
                DataTable endBd = _bd.ExecuteReader();

                end.Id = Convert.ToInt32(endBd.Rows[0]["id"]);
                end.Logradouro = endBd.Rows[0]["logradouro"].ToString();
                end.Numero = endBd.Rows[0]["numero"].ToString();
                if (!min)// se nao for endereco minimo!
                {
                    end.Bairro = endBd.Rows[0]["bairro"].ToString();
                    end.Complemento = endBd.Rows[0]["complemento"].ToString();
                    end.Cep = endBd.Rows[0]["cep"].ToString();
                    end.Principal = Convert.ToBoolean(endBd.Rows[0]["principal"]);
                    end.Obs = endBd.Rows[0]["obs"].ToString();
                }

                end.Cidade = new Cidade(Convert.ToInt32(endBd.Rows[0]["cidCod"]), endBd.Rows[0]["cidNome"].ToString());
                end.Cidade.Estado = new Estado(Convert.ToInt32(endBd.Rows[0]["uf_id"]));

            }
            catch
            {
                return false;
            }
            return true;
        }