Пример #1
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;
        }
Пример #2
0
 //ultima modificacao/checagem em 14/01/2014 funcionando! by GM
 public bool Carregar(Linha linhaColeta)
 {
     if (linhaColeta.Fornecedores.Count > 0)
     {
         foreach (FornecedorLinha fornecedor in linhaColeta.Fornecedores)
         {
             //carrega o endereco minimo!
             new Pessoa.EnderecoCtr().Carregar(fornecedor.Endereco, true);
             //carrega os dados da pessoa do BD
             new Pessoa.PessoaCtr().Recuperar(fornecedor.Endereco.Pessoa);
         }
         return true;
     }
     return false;//pois nao carregou ninguém!
 }
Пример #3
0
        public bool Atualizar(Linha linha)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"UPDATE linhasColeta SET descricao = @nome WHERE id=@id";
                _bd.Cmd.Parameters.AddWithValue("@id", linha.Id);
                _bd.Cmd.Parameters.AddWithValue("@nome", linha.Nome);
                _bd.ExecuteNonQuery();

            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
Пример #4
0
        public bool Inserir(Linha linha)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"INSERT INTO linhasColeta (descricao,status) VALUES (@nome, 1); SELECT LAST_INSERT_ID()";
                _bd.Cmd.Parameters.AddWithValue("@nome", linha.Nome);

                linha.Id = Convert.ToInt32(_bd.ExecuteScalar());//recupera id nova!

            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
Пример #5
0
        //ultima modificacao/checagem em 15/01/2014 funcionando! by GM
        public bool AtualizarStatus(Linha linha)
        {
            _bd = new Persistencia();
            try
            {
                _bd.Cmd.CommandText = @"UPDATE linhasColeta SET status = @status WHERE id=@id";
                _bd.Cmd.Parameters.AddWithValue("@id", linha.Id);
                _bd.Cmd.Parameters.AddWithValue("@status", linha.Status);

                _bd.ExecuteNonQuery();

            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }
Пример #6
0
        //ultima modificacao/checagem em 15/01/2014 funcionando! by GM
        public bool Excluir(Linha linha)
        {
            _bd = new Persistencia();
            _bd.IniciarTransacao();
            try
            {
                _bd.Cmd.Parameters.AddWithValue("@id", linha.Id);

                _bd.Cmd.CommandText = @"DELETE FROM enderecos_linha WHERE linha_id = @id";
                _bd.ExecuteNonQuery();

                _bd.Cmd.CommandText = @"DELETE FROM linhasColeta WHERE id=@id";
                _bd.ExecuteNonQuery();
            }
            catch (Exception)
            {
                _bd.CancelarTransacao();
                return false;
            }
            _bd.ConfirmarTransacao();
            return true;
        }
Пример #7
0
        //testado em 28/01/2014 funcionando! by GM
        /// <summary>
        /// recupera os enderecos do fornecedor ainda cadastrados na linha
        /// </summary>
        /// <param name="fornecedor">Obj Pessoa que simbolize o fornecedor</param>
        /// <param name="linhaCol">a Linha de Coleta ativa</param>
        /// <returns>falso caso: de erro no banco, a quantidade de enderecos seja igual a zero </returns>
        public bool RecuperarEnderecosNaoCadastrados(Model.pessoas.Pessoa fornecedor, Linha linhaCol)
        {
            //carrega *somente os ids dos endereços de cada fornecedor e a sequencia
            if (!new LinhaCtrl().RecuperarFornecedoresLinha(linhaCol, false))//se a linha nao tiver nenhum endereço exibe todos os endereços do fornecedor!
            {
                return new Pessoa.EnderecoCtr().CarregarEnderecosPessoa(fornecedor);//se nao tiver endereços retorna falso também
            }

            //carrega os Enderecos do fornecedor
            if (new Pessoa.EnderecoCtr().CarregarEnderecosPessoa(fornecedor))
            {
                var enderecosDisponiveis = new List<Endereco>();

                foreach (Endereco endereco in fornecedor.Enderecos)// para cada endereço existente no meu fornecedor
                {
                    bool existe = false;
                    for (int i = 0; i < linhaCol.Fornecedores.Count; i++)//checo em cada endereco da linha de Coleta selecionada
                    {
                        if (linhaCol.Fornecedores[i].Endereco.Pessoa.Id == fornecedor.Id)//se a pessoa do endereco da linha de coleta for o mesmo fornecedor selecionado
                        {
                            if (linhaCol.Fornecedores[i].Endereco.Id == endereco.Id)//checa se o endereço é o mesmo
                            {
                                existe = true;
                                i = linhaCol.Fornecedores.Count+1;//não é necessário correr a linha inteira caso já encontrou o endereco procurado
                            }
                        }
                    }
                    if (!existe)//se o endereço não existir na linha de coleta
                    {
                        enderecosDisponiveis.Add(endereco);//adiciono o endereço corrente do fornecedor aos endereços disponiveis que serão exibidos!
                    }
                }
                fornecedor.Enderecos = enderecosDisponiveis;//reescrita!
                if (enderecosDisponiveis.Count > 0)
                    return true;
            }
            //se o fornecedor não tiver endereços chega aqui.
            return false;
        }
Пример #8
0
        //-------------------Opcoes onCommand -------------------
        //Opcoes do Gerenciamento de Linhas
        public void GerLinhas(object sender, CommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "Novo"://ok 15/01/2014 by GM
                    {
                        if (new Controller.coleta.LinhaCtrl().Gravar(new Linha(-1, ttbNovaLinha.Text, true)))
                        {
                            CarregarRpGlinhas();//atualiza o datasource e a lista de linhas
                        }
                        ttbNovaLinha.Text = "";
                    } break;
                case "InverterStatus"://ok 17/01/2014 by GM
                    {
                        string[] parametros = e.CommandArgument.ToString().Split('|');
                        if (new Controller.coleta.LinhaCtrl().InverterStatus(new Linha(Convert.ToInt32(parametros[0]), Convert.ToBoolean(parametros[1]))))
                        {
                            CarregarRpGlinhas();//atualiza o datasource e a lista de linhas
                        }
                    } break;
                case "Excluir"://ok 15/01/2014 by GM
                    {
                        if (e.CommandArgument.ToString() == "s")
                        {
                            var lin = new Linha(Convert.ToInt32(idLinhaExcluir.Value));
                            if (new Controller.coleta.LinhaCtrl().Excluir(lin))
                            {
                                CarregarRpGlinhas();
                            }
                        }
                        idLinhaExcluir.Value = "";
                        boxConfirmaExcluirLinha.Visible = false;
                        btnFecharGlinha.Visible = true;

                    } break;
                case "AvisoExcluir"://ok 15/01/2014 by GM
                    {
                        Linha linhaSelecionada = new Linha(Convert.ToInt32(e.CommandArgument));
                        new Controller.coleta.LinhaCtrl().RecuperarLinha(linhaSelecionada);

                        idLinhaExcluir.Value = linhaSelecionada.Id.ToString();
                        lblLinhaExcluir.Text = linhaSelecionada.Nome;

                        boxConfirmaExcluirLinha.Visible = true;
                        btnFecharGlinha.Visible = false;
                    }
                    break;
                case "Sair":
                    {
                        CarregarRepeaterLinhasColetaPrincipal();
                    }
                    break;
            }
        }
Пример #9
0
        //carrega o repeater de fornecedores da linha no modal Gerenciar Fornecedores Linha retona falso caso nao tenha nenhuma linha ativa ou nenhum fornecedor na linha selecionada
        private bool CarregarRepeaterFornecedoresLinha()
        {
            var linha = new Linha(Convert.ToInt32(ddlLinhas1.SelectedValue));
            if (new Controller.coleta.LinhaCtrl().RecuperarFornecedoresLinha(linha))
            {
                rpFornecedoresLinha.DataSource = linha.Fornecedores;
                rpFornecedoresLinha.DataBind();
                return true;
            }

            return false;
        }
Пример #10
0
 //testado em 15/01/2014 funcionando! by GM
 public bool Excluir(Linha linhaCol)
 {
     return new DataBase.coleta.LinhaBD().Excluir(linhaCol);
 }
Пример #11
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;
        }
Пример #12
0
        //editado e testado em 28/01/2014 funcionando! by GM
        /// <summary>
        /// Recuperar os fornecedores de uma linha, por padrao completo ou seja ids sequencia e dados de cada endereco
        /// </summary>
        /// <param name="linhaCol">linha para carregar</param>
        /// <param name="completo">parametro opcional, caso nao queira completo ou seja somente com os id's dos enderecos da linha e a sequencia</param>
        /// <returns></returns>
        public bool RecuperarFornecedoresLinha(Linha linhaCol, bool completo = true)
        {
            if (new DataBase.coleta.FornecedorLinhaBd().Recuperar(linhaCol))//recupera somente os ids e a sequencia
            {
                if (linhaCol.Fornecedores.Count == 0)//se a linha nao tiver fornecedores retorna falso pois nao carregou
                    return false;
                if (completo)                        //carrega os dados dos enderecos e a pessoa
                    return new FornecedorLinhaCtrl().Carregar(linhaCol);

                return true; //carregou somente os Id's
            }
            return false;//erro ao recuperar do Banco de dados
        }
Пример #13
0
 //testado em 17/01/2014 funcionando! by GM
 public bool InverterStatus(Linha linhaCol)
 {
     linhaCol.Status = !linhaCol.Status;//inverte o status e salva no BD
     return new DataBase.coleta.LinhaBD().AtualizarStatus(linhaCol);
 }
Пример #14
0
 //testado em 15/01/2014 funcionando! by GM
 public bool Gravar(Linha linhaCol)
 {
     if (linhaCol.Id == -1)
         return new DataBase.coleta.LinhaBD().Inserir(linhaCol);
     return new DataBase.coleta.LinhaBD().Atualizar(linhaCol);
 }
Пример #15
0
 public FornecedorLinha(int seq, Linha linha)
 {
     _sequencia = seq;
     _linha = linha;
 }
Пример #16
0
 public FornecedorLinha(Endereco end,Linha linha)
 {
     Linha = linha;
     _endereco = end;
 }
Пример #17
0
 //testado em 15/01/2014 funcionando! by GM
 public bool RecuperarLinha(Linha linhaCol)
 {
     return new DataBase.coleta.LinhaBD().Recuperar(linhaCol);
 }