コード例 #1
0
ファイル: frm_Autorizacoes.cs プロジェクト: PhillBeck/frete
        private void GetAutorizacoes(int idPedido, int idTarifa)
        {
            DBConnect dbc = new DBConnect();            //Conector do BD

            List<string> campos = new List<string>();   //Lista com os campos a serem resgatados do BD

            //Preenchendo a lista de campos
            campos.Add("usuario_aut");
            campos.Add("dataAutorizado");
            campos.Add("usuario_canc");
            campos.Add("dataCancelado");

            DataTable dtTemp = new DataTable();         //DataTable temporária para armazenar o resultado da query.

            string query = frete.Properties.Resources.sql_Select_Autorizacoes +     //Query para consulta ao banco de dados
                " autorizacoes.pedidos_idpedidos = " + idPedido.ToString() +
                " AND autorizacoes.tarifas_idtarifas = " + idTarifa.ToString();

            dtTemp = dbc.Select(query, campos.Count, campos);
            dtTemp.TableName = "autorizacoes";

            ds.Tables.Add(dtTemp.Copy());


        }
コード例 #2
0
ファイル: frm_Requisicoes.cs プロジェクト: PhillBeck/frete
        private void GetRequisicoes()
        {
	    /* Desenvolvido por Phillip Beck
         * em 01/01/16
         * 
         * Descrição:
         * Função que lê todas as requisições no sistema e 
         * Armazena os dados numa DataTable */

            DBConnect dbc = new DBConnect();                                    //Cria a interface com o Banco de dados

            string query = MontarString();                                      //Query para leitura das requisições
            List<string> campos = new List<string>();                           //Lista com os campos para realizar a leitura do resultado da query

            //Adicionando os campos na lista
            campos.Add("idpedido");
            campos.Add("cliente");
            campos.Add("idnivel");
            campos.Add("idtarifa");
            campos.Add("data_pedido");
            campos.Add("valor");
            campos.Add("preco_frete");
            campos.Add("porcent");
            campos.Add("transportadora");
            campos.Add("usuario");
            campos.Add("data_hora");
            campos.Add("autorizado");

            //Realiza a query e salva na DataTable
            dtRequisicoes.Reset();
            dtRequisicoes = dbc.Select(query, campos.Count, campos);

        }
コード例 #3
0
ファイル: frm_Autorizacoes.cs プロジェクト: PhillBeck/frete
        private void GetDadosRequisicao(int idPedido, int idTarifa)
        {
            DBConnect dbc = new DBConnect();                                    //Conector do BD
            List<string> campos = new List<string>();                           //Lista com os campos para realizar a leitura do resultado da query

            //Adicionando os campos na lista
            campos.Add("idpedido");
            campos.Add("cliente");
            campos.Add("idnivel");
            campos.Add("idtarifa");
            campos.Add("data_pedido");
            campos.Add("valor");
            campos.Add("preco_frete");
            campos.Add("porcent");
            campos.Add("transportadora");
            campos.Add("usuario");
            campos.Add("data_hora");
            campos.Add("autorizado");

            string query = frete.Properties.Resources.sql_Select_DadosRequisicoes;          //query padrão com os campos a serem selecionados
            query += " WHERE r.idtarifa = " + idTarifa + " AND r.idpedido = " + idPedido;   //filtro da pesquisa

            DataTable dtDadosReq = dbc.Select(query, campos.Count, campos);
            dtDadosReq.TableName = "requisicao";

            ds.Tables.Add(dtDadosReq.Copy());                                               //Copia o resultado da query para o DataSet do Form
        }
コード例 #4
0
ファイル: frm_Main.cs プロジェクト: PhillBeck/frete
        private void CountReqPendentes()
        {
        /* Desenvolvido em 01/01/16
         * por Phillip Beck
         * 
         * Descrição:
         * Função que conta as requisicoes pendentes no banco de dados
         * e preenche os avisos na Form inicial */


            DBConnect dbc = new DBConnect();        //Interface com o banco de dados

            //Conta requisições que aguardam aprovação do usuário
            string query = frete.Properties.Resources.sql_Count_ReqPendentesMesmoNivel + Globals.UserLevel;
            reqPendentes.minhasApovacoes = dbc.Select_count(query);

            //Conta requisições geradas pelo usuário que aguardam aprovação
            query = frete.Properties.Resources.sql_Count_ReqPendentesMesmoUsuario + Globals.UserId;

            reqPendentes.minhasRequisicoes = dbc.Select_count(query);


            //Atualiza o texto mostrado na Form inicial
            lnk_reqpendentes.Text = "Você possui " + reqPendentes.minhasRequisicoes + " requisições pendentes";
            lnk_AprPendentes.Text = "Existem " + reqPendentes.minhasApovacoes + " requisições aguardando sua aprovação";
        }
コード例 #5
0
ファイル: frm_Transportadora.cs プロジェクト: PhillBeck/frete
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            DBConnect dbc = new DBConnect();

            string query;
            string idtransportadora = dataGridView1.SelectedRows[0].Cells["idtransportadoras"].Value.ToString();

            List<string> campos = new List<string>();

            campos.Add("idtarifas");
            campos.Add("nome");
            campos.Add("cidade");
            campos.Add("descricao");
            campos.Add("coef_peso");
            campos.Add("coef_valor");
            campos.Add("coef_gris");
            campos.Add("fracao_pedagio");
            campos.Add("taxa_conhecimento");
            campos.Add("ICMS");

            query = frete.Properties.Resources.sql_Select_TarifasTransp + idtransportadora;

            DataTable dt = dbc.Select(query, campos.Count, campos);

            dataGridView2.DataSource = dt;

        }
コード例 #6
0
ファイル: frm_cadclientes.cs プロジェクト: PhillBeck/frete
        private void Fill(string idcliente)
        {
            string query;
            query = "SELECT clientes.idclientes, clientes.nome, clientes.cnpj, clientes.endereco, cidades.cidade, cidades.estado " +
                "FROM clientes LEFT JOIN cidades ON clientes.cidade = cidades.idcidades " +
                "WHERE clientes.idclientes = " + idcliente ;

            DBConnect dbc = new DBConnect();

            List<string> campos = new List<string>();
            campos.Add("idclientes");
            campos.Add("nome");
            campos.Add("cnpj");
            campos.Add("endereco");
            campos.Add("cidade");
            campos.Add("estado");

            DataTable resultados;
            resultados = dbc.Select(query, campos.Count, campos);

            txt_ID.Text       = resultados.Rows[0][campos[0]].ToString();
            txt_Nome.Text     = resultados.Rows[0][campos[1]].ToString();
            txt_CNPJ.Text     = resultados.Rows[0][campos[2]].ToString();
            txt_endereco.Text = resultados.Rows[0][campos[3]].ToString();
            txt_Cidade.Text   = resultados.Rows[0][campos[4]].ToString();
            txt_UF.Text       = resultados.Rows[0][campos[5]].ToString();

            alterado = false;

        }
コード例 #7
0
ファイル: frm_Seleciona.cs プロジェクト: PhillBeck/frete
        private void Get_Tarifas()
        {
            string query = frete.Properties.Resources.sql_Select_TarifasPedido;

            List<string> campos = new List<string>();

            campos.Add("idtarifas");
            campos.Add("transportadora");
            campos.Add("cidade");

            DBConnect dbc = new DBConnect();

            dtDisponiveis = dbc.Select(query, campos.Count, campos);

            dtDisponiveis.Columns.Add("copiado", typeof(bool));

            foreach (DataRow dr in dtDisponiveis.Rows)
                dr["copiado"] = false;

            dgv_Disponiveis.DataSource = dtDisponiveis;
            dtSelecionados = dtDisponiveis.Clone();
            dtSelecionados.Columns.Add("index_disp", typeof(int));

            dgv_Selecionados.DataSource = dtSelecionados;

        }
コード例 #8
0
ファイル: frm_Login.cs プロジェクト: PhillBeck/frete
        private void Login(string usuario, string senha)
        {
            DBConnect dbc = new DBConnect();

            dbc.comm.Parameters.AddWithValue("@username", usuario);
            dbc.comm.Parameters.AddWithValue("@password", senha);

            string query = "SELECT * FROM usuarios WHERE usuario=@username AND senha=@password";

            DataTable dtUsuario;

            dtUsuario = dbc.Select_login(query);

            if (dtUsuario.Rows.Count != 1)
            {
                MessageBox.Show("Usuário ou senha incorretos","Controle de Frete",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                txb_Usuario.Text = "";
                txb_Senha.Text = "";
            }
            else
            {
                Globals.UserId = int.Parse(dtUsuario.Rows[0]["idusuarios"].ToString());
                Globals.UserLevel = int.Parse(dtUsuario.Rows[0]["nivel"].ToString());
                Globals.Username = dtUsuario.Rows[0]["usuario"].ToString();

                autorizado = true;

                this.Close();
            }

        }
コード例 #9
0
ファイル: frm_Seleciona.cs プロジェクト: PhillBeck/frete
        private void btn_OK_Click(object sender, EventArgs e)
        {

            if (dtSelecionados.Rows.Count > 0)
            {
                DBConnect dbc = new DBConnect();
                List<string> campos = new List<string>();

                campos.Add("idtarifas");
                campos.Add("transportadora");
                campos.Add("descricao");
                campos.Add("coef_valor");
                campos.Add("coef_peso");
                campos.Add("fracao_pedagio");
                campos.Add("coef_gris");
                campos.Add("sce_cad");
                campos.Add("taxa_conhecimento");
                campos.Add("ICMS");


                string query = frete.Properties.Resources.sql_Select_DadosTarifas;
                bool primeiro = true;

                foreach(DataRow dr in dtSelecionados.Rows)
                {
                    if (!primeiro)
                        query += " OR ";

                    primeiro = false;
                    query += "idtarifas = " + dr["idtarifas"].ToString();

                }

                DataTable tarifas = dbc.Select(query, campos.Count, campos);

                frm_Simulacao form_simulacao = new frm_Simulacao(1, tarifas);
                form_simulacao.ShowDialog();
            }



        }
コード例 #10
0
ファイル: frm_Transportadora.cs プロジェクト: PhillBeck/frete
        private void Fill()
        {
            //Cria o objeto conector e prepara a query string
            DBConnect dbc = new DBConnect();
            string query;
            query = "SELECT transportadoras.idtransportadoras, transportadoras.nome, transportadoras.cnpj, transportadoras.endereco, cidades.cidade, cidades.estado " +
                "FROM transportadoras LEFT JOIN cidades ON transportadoras.cidade = cidades.idcidades";

            //Prepara uma lista com os nomes das colunas
            List<string> campos = new List<string>();
            campos.Add("idtransportadoras");
            campos.Add("nome");
            campos.Add("cnpj");
            campos.Add("endereco");
            campos.Add("cidade");
            campos.Add("estado");

            //Cria uma lista para receber os resultados e executa a query
            DataTable resultados;
            resultados = dbc.Select(query, campos.Count, campos);

            dataGridView1.DataSource = resultados;
        }
コード例 #11
0
ファイル: frm_Simulacao.cs プロジェクト: PhillBeck/frete
        private void GerarRequisicao()
        {
            int idtarifa = int.Parse(dgv_Valores.SelectedRows[0].Cells["idtarifas"].Value.ToString());
            int nivel = (int)dgv_Valores.SelectedRows[0].Cells["nivel"].Value;  //Nível de permissão necessária para selecionar a tarifa desejada
            float preco_frete = (float)dgv_Valores.SelectedRows[0].Cells["preco_frete"].Value; //Valor do preco do frete

            if (!VerificaNivel())
            {
                DialogResult dr = MessageBox.Show("Você não possui autorização para selecionar essa tarifa. Deseja gerar uma requisição?", "Requisição", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if(dr == System.Windows.Forms.DialogResult.Yes)
                {
                    DBConnect dbc = new DBConnect();

                    string query = "INSERT INTO requisicoes (idusuario, idpedido, idnivel,  idtarifa, data_hora, preco_frete) VALUES ( " +
                        Globals.UserId + ", " + p.idpedido + ", " + nivel + ", " + idtarifa + ", NOW(), " + preco_frete.ToGBString() + ")";

                  //Tenta inserir a requisição;
                   try
                   {
                        dbc.Insert(query);
                        MessageBox.Show("Requisição gerada com sucesso");
                   }
                   catch (MySql.Data.MySqlClient.MySqlException ex)
                   {
                       switch (ex.Number)
                       {
                           case 1062: // Chave Primária duplicada
                               MessageBox.Show("Já existe uma requisição para essa combinação de pedido e tarifa");
                               break;
                       }
                    } 
                }
            }
            else
            {
                DBConnect dbc = new DBConnect();

                string query = "INSERT INTO requisicoes (idusuario, idpedido, idnivel,  idtarifa, data_hora, preco_frete) VALUES ( " +
                    Globals.UserId + ", " + p.idpedido + ", " + nivel + ", " + idtarifa + ", NOW(), " + preco_frete.ToGBString() + ")";

                //Tenta inserir a requisição;
                try
                {
                    dbc.Insert(query);
                }
                catch (MySql.Data.MySqlClient.MySqlException ex)
                {
                    switch (ex.Number)
                    {
                        case 1062: // Chave Primária duplicada
                            MessageBox.Show("Já existe uma requisição para essa combinação de pedido e tarifa");
                            break;
                    }
                }
            }
        }
コード例 #12
0
ファイル: frm_cadclientes.cs プロジェクト: PhillBeck/frete
        private void Insert()
        {
            string query;

            query = "INSERT INTO clientes (nome, CNPJ, endereco) VALUES ('" + txt_Nome.Text +
                "','" + txt_CNPJ.Text + "','" + txt_endereco.Text + "')";

            DBConnect dbc = new DBConnect();
            dbc.Insert(query);

        }
コード例 #13
0
ファイル: frm_cadclientes.cs プロジェクト: PhillBeck/frete
        private void Update_values()
        {
            string query;

            query = "UPDATE clientes SET nome = '" + txt_Nome.Text + "', CNPJ = '" + txt_CNPJ.Text + "', endereco = '" + txt_endereco.Text + "' " +
                "WHERE idclientes = " + txt_ID.Text;
            DBConnect dbc = new DBConnect();

            dbc.Update(query);

            alterado = false;
        }
コード例 #14
0
ファイル: frm_Simulacao.cs プロジェクト: PhillBeck/frete
        private void getDadosPedido()
        {
            DBConnect dbc = new DBConnect();

            string query = frete.Properties.Resources.sql_Select_DadosPedido + p.idpedido;

            //Monta uma lista de campos para serem retornados pela query
            List<string> campos = new List<string>();

            campos.Add("valor");
            campos.Add("volume");
            campos.Add("peso");
            campos.Add("nome");
            campos.Add("cidade");
            campos.Add("endereco");
            campos.Add("estado");
            campos.Add("NF");


            //Executa a query
            DataTable dt = dbc.Select(query, campos.Count, campos);


            //Converte e salva os valores na struct

            //Leitura do peso
            if (!float.TryParse(dt.Rows[0]["peso"].ToString(), out p.peso))
            {
                MessageBox.Show("Erro na leitura do banco de dados", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //Leitura do volume
            if (!float.TryParse(dt.Rows[0]["volume"].ToString(), out p.volume))
            {
                MessageBox.Show("Erro na leitura do banco de dados", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //Leitura do valor da NF
            if (!float.TryParse(dt.Rows[0]["valor"].ToString(), out p.valor))
            {
                MessageBox.Show("Erro na leitura do banco de dados", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //Leitura do nº da NF
            if (!Int32.TryParse(dt.Rows[0]["NF"].ToString(), out p.NF))
            {
                MessageBox.Show("Erro na leitura do banco de dados", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //Dados do cliente
            p.cliente = dt.Rows[0]["nome"].ToString();
            p.endereco = dt.Rows[0]["endereco"].ToString();
            p.cidade = dt.Rows[0]["cidade"].ToString();
            p.estado = dt.Rows[0]["estado"].ToString();


            //Preenche os dados do pedido nas TextBox
            txt_Cod.Text = p.idpedido.ToString();
            txt_Cliente.Text = p.cliente;
            txt_Endereco.Text = p.endereco;
            txt_Cidade.Text = p.cidade;
            txt_Estado.Text = p.estado;
            txt_NF.Text = p.NF.ToString();
            txt_Volume.Text = p.volume.ToString();
            txt_Peso.Text = p.peso.ToString();
            txt_Valor.Text = p.valor.ToString();

            //calcula o peso cubado e preenche a TextBox
            p.peso_cubado = Math.Max(p.peso, p.volume * float.Parse(frete.Properties.Resources.coef_cubagem_rodoviaria));
            txt_Pesocubado.Text = p.peso_cubado.ToString();


        }
コード例 #15
0
ファイル: frm_Requisicoes.cs プロジェクト: PhillBeck/frete
        private void CancelarAutorizacao(int idPedido, int idTarifa, int idNivel)
        {
            if (Globals.UserLevel < idNivel)
            {
                MessageBox.Show("Você não tem permissão para cancelar essa autorização");
                return;
            }
            else
            {
                DBConnect dbc = new DBConnect();
                string query = "CALL _sprCancelaAutor(" + idTarifa + ", " + idPedido + ", " + Globals.UserId + ")";

                dbc.Insert(query);

                MessageBox.Show("Autorização Cancelada");

                AplicarFiltro();
            }
        }
コード例 #16
0
ファイル: frm_Simulacao.cs プロジェクト: PhillBeck/frete
        private void getNiveis()
        {
            DBConnect dbc = new DBConnect();

            string query = "SELECT * FROM permissoes ORDER BY valor_maximo";

            List<string> campos = new List<string>();

            campos.Add("idpermissoes");
            campos.Add("valor_maximo");

            dtNiveis = dbc.Select(query, campos.Count, campos);
        }
コード例 #17
0
ファイル: frm_Requisicoes.cs プロジェクト: PhillBeck/frete
        private void GetDadosFiltro()
        {
            /* Desenvolvido em 03/01/16
             * Por Phillip Beck
             * 
             * Função que lê no banco de dados valores de
             * clientes, transportadoras e cidades
             * para popular os combobox do fitro de requisições*/

            //Preparação
            DataTable dtResultado;    //DataTable temporária para receber os dados das querys 
            DBConnect dbc = new DBConnect();    //Conector do BD
            string query;
            List<string> campos = new List<string>();
            
            //Prepara uma linha em branco para iniciar as combobox
            string[] blankLine = new string[2];
            blankLine[0] = "0";
            blankLine[1] = "";

            //Leitura dos dados de clientes
            query = "SELECT idclientes, nome FROM clientes";
            campos.Add("idclientes");
            campos.Add("nome");
            dtResultado = dbc.Select(query, campos.Count, campos);
            dtResultado.Rows.Add(blankLine);
            dtResultado.TableName = "clientes";
            dsDadosFiltro.Tables.Add(dtResultado.Copy());
            dtResultado.Reset();
            campos.Clear();

            //Leitura dos dados de transportadoras
            query = "SELECT idtransportadoras, nome FROM transportadoras";
            campos.Add("idtransportadoras");
            campos.Add("nome");
            dtResultado = dbc.Select(query, campos.Count, campos);
            dtResultado.Rows.Add(blankLine);
            dtResultado.TableName = "transportadoras";
            dsDadosFiltro.Tables.Add(dtResultado.Copy());
            dtResultado.Reset();
            campos.Clear();

            //Leitura dos dados de cidades
            query = "SELECT idcidades, cidade FROM cidades";
            campos.Add("idcidades");
            campos.Add("cidade");
            dtResultado = dbc.Select(query, campos.Count, campos);
            dtResultado.Rows.Add(blankLine);
            dtResultado.TableName = "cidades";
            dsDadosFiltro.Tables.Add(dtResultado.Copy());
            dtResultado.Reset();
            campos.Clear();

            //Popula o combobox cliente
            dsDadosFiltro.Tables["clientes"].DefaultView.Sort = "idclientes ASC";
            cmb_Cliente.DataSource = dsDadosFiltro.Tables["clientes"];
            cmb_Cliente.DisplayMember = "nome";
            cmb_Cliente.ValueMember = "idclientes";

            //Popula o combobox transportadora
            dsDadosFiltro.Tables["transportadoras"].DefaultView.Sort = "idtransportadoras ASC";
            cmb_Transportadora.DataSource = dsDadosFiltro.Tables["transportadoras"];
            cmb_Transportadora.DisplayMember = "nome";
            cmb_Transportadora.ValueMember = "idtransportadoras";

            //Popula o combobox cidade
            dsDadosFiltro.Tables["cidades"].DefaultView.Sort = "idcidades ASC";
            cmb_Cidade.DataSource = dsDadosFiltro.Tables["cidades"];
            cmb_Cidade.DisplayMember = "cidade";
            cmb_Cidade.ValueMember = "idcidades";

        }