Пример #1
0
        public void Inserir(Item_Pedido obj)
        {
            //Criando uma conexão com o banco de dados
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Db"].ConnectionString))
            {
                //Criando instrução sql para inserir na tabela de estados
                string strSQL = @"INSERT INTO TB_ITEM_PEDIDO(ID_PEDIDO, ID_PRODXTAMANHO, PRECO_ITEM)
                                  VALUES (@ID_PEDIDO, @ID_PRODXTAMANHO, @PRECO_ITEM);";

                //Criando um comando sql que será executado na base de dados
                using (SqlCommand cmd = new SqlCommand(strSQL))
                {
                    cmd.Connection = conn;
                    //Preenchendo os parâmetros da instrução sql
                    cmd.Parameters.Add("@ID_PEDIDO", SqlDbType.Int).Value       = obj.Pedido.Id;
                    cmd.Parameters.Add("@ID_PRODXTAMANHO", SqlDbType.Int).Value = obj.Produto_x_Tamanho.Id;
                    cmd.Parameters.Add("@PRECO_ITEM", SqlDbType.Decimal).Value  = obj.Preco_item;

                    foreach (SqlParameter parameter in cmd.Parameters)
                    {
                        if (parameter.Value == null)
                        {
                            parameter.Value = DBNull.Value;
                        }
                    }

                    //Abrindo conexão com o banco de dados
                    conn.Open();
                    //Executando instrução sql
                    cmd.ExecuteNonQuery();
                    //Fechando conexão com o banco de dados
                    conn.Close();
                }
            }
        }
Пример #2
0
        public List <Item_Pedido> BuscarTodos()
        {
            var lst = new List <Item_Pedido>();

            //Criando uma conexão com o banco de dados
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Db"].ConnectionString))
            {
                //Criando instrução sql para selecionar todos os registros na tabela de estados
                string strSQL = @"SELECT 
                                    ip.*,
                                    p.DT_DATA AS DATA_PEDIDO,
                                    p.QNT_SABORES AS QUANTIDADE_SABORES,
                                    p.ST_STATUS AS STATUS_PEDIDO,
                                    pt.DT_PRECO_TOTAL AS PRECO_TOTAL
                                FROM TB_ITEM_PEDIDO ip
                                INNER JOIN TB_PEDIDO p ON (p.ID_PEDIDO = ip.ID_PEDIDO)
                                INNER JOIN TB_PRODUTO_X_TAMANHO pt ON (pt.ID_TAMANHO = ip.ID_TAMANHO);";

                //Criando um comando sql que será executado na base d edados
                using (SqlCommand cmd = new SqlCommand(strSQL))
                {
                    //Abrindo conexão com o banco de dados
                    conn.Open();
                    cmd.Connection  = conn;
                    cmd.CommandText = strSQL;
                    //Executando instrução sql
                    var dataReader = cmd.ExecuteReader();
                    var dt         = new DataTable();
                    dt.Load(dataReader);
                    //Fechando conexão com o banco de dados
                    conn.Close();

                    //Perconrrendo todos os registros encontrados na base de dados e adicionando em uma lista
                    foreach (DataRow row in dt.Rows)
                    {
                        var item_pedido = new Item_Pedido()
                        {
                            Id         = Convert.ToInt32(row["ID_ITEM"]),
                            Preco_item = Convert.ToDecimal(row["PRECO_ITEM"]),
                            Pedido     = new Pedido()
                            {
                                Id         = Convert.ToInt32(row["ID_PEDIDO"]),
                                Data       = Convert.ToDateTime(row["DATA_PEDIDO"]),
                                QtdSabores = Convert.ToInt32(row["QUANTIDADE_SABORES"]),
                                Status     = row["STATUS_PEDIDO"].ToString()
                            },
                            Produto_x_Tamanho = new Produto_x_Tamanho()
                            {
                                Id          = Convert.ToInt32(row["ID_PRODXTAMANHO"]),
                                Preco_Total = Convert.ToDecimal(row["PRECO_TOTAL"]),
                            }
                        };

                        lst.Add(item_pedido);
                    }
                }
            }
            return(lst);
        }
Пример #3
0
        public ActionResult AdicionarItem(int produtoXtamanho, int quantidadeDeSabores)
        {
            //se tiver algum pedido pendente no banco de dados, usar o mesmo pedido par adicionar novos itens
            var pedido = new PedidoDAO().BuscarPorUsuario(((Usuario)User).Id);

            //buscar todos os dados do usuário logado no banco de dados
            var usuario = new UsuarioDAO().BuscarPorId(((Usuario)User).Id);

            //criando pedido e salvando este pedido no banco de dados
            if (pedido == null)
            {
                pedido         = new Pedido();
                pedido.Data    = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, zone);
                pedido.Usuario = new Usuario()
                {
                    Id = ((Usuario)User).Id
                };
                pedido.QtdSabores = quantidadeDeSabores;
                pedido.Status     = "PENDENTE";

                //preenchendo os dados de entrega do pedido baseado no endereço do usuário
                pedido.Cep    = usuario.Cep;
                pedido.Rua    = usuario.Rua;
                pedido.Numero = usuario.Numero;

                //inserindo o pedido no banco de dados
                new PedidoDAO().Inserir(pedido);
            }

            //buscando no banco de dados produto x tamanho que foi selecionado na tela pelo usuário
            var pxt = new Prod_x_TamanhoDAO().BuscarPorId(produtoXtamanho);

            //adicionando item selecionado ao pedido
            var item = new Item_Pedido()
            {
                Pedido            = pedido,
                Produto_x_Tamanho = pxt,
                Preco_item        = pxt.Preco_Total / Convert.ToDecimal(quantidadeDeSabores)
            };

            //salvando item que foi criado
            new Item_PedidoDAO().Inserir(item);

            //recarregando todos os itens do pedido
            pedido.Itens = new Item_PedidoDAO().BuscarPorPedido(pedido.Id);

            //retornando a partial view com o pedido e seus itens
            return(PartialView("_Pedido", pedido));
        }
Пример #4
0
        private void btnRemover_Click(object sender, EventArgs e)
        {
            Item_Pedido ped = new Item_Pedido();

            try
            {
                int cod_prod = int.Parse(dataGridViewPedido.CurrentRow.Cells[0].Value.ToString());
                ped.Excluir(id_pedido, cod_prod);
                dataGridViewPedido.Rows.Remove(dataGridViewPedido.CurrentRow);
            }
            catch (Exception errodel)
            {
                MessageBox.Show("Erro ao deletar: " + errodel);
            }
        }
Пример #5
0
        public List <Item_Pedido> BuscarPorPedido(int pedido)
        {
            var lst = new List <Item_Pedido>();

            //Criando uma conexão com o banco de dados
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Db"].ConnectionString))
            {
                //Criando instrução sql para selecionar todos os registros na tabela de estados
                string strSQL = @"SELECT 
                                    IP.*,
                                    P.DT_DATA AS DATA_PEDIDO,
                                    P.QNT_SABORES AS QUANTIDADE_SABORES,
                                    P.ST_STATUS AS STATUS_PEDIDO,
                                    PT.DT_PRECO_TOTAL AS PRECO_TOTAL,
                                    PR.ID_PRODUTO,
                                    PR.ST_NOME AS NOME_PRODUTO,
                                    PR.ST_TIPO AS TIPO_PRODUTO,
                                    TM.ID_TAMANHO,
                                    TM.ST_NOME AS NOME_TAMANHO
                                FROM TB_ITEM_PEDIDO IP
                                INNER JOIN TB_PEDIDO P ON (P.ID_PEDIDO = IP.ID_PEDIDO)
                                INNER JOIN TB_PRODUTO_X_TAMANHO PT ON (PT.ID_PRODXTAMANHO = IP.ID_PRODXTAMANHO)
                                INNER JOIN TB_PRODUTO PR ON (PR.ID_PRODUTO = PT.ID_PRODUTO)
                                INNER JOIN TB_TAMANHO TM ON (TM.ID_TAMANHO = PT.ID_TAMANHO)
                                WHERE IP.ID_PEDIDO = @ID_PEDIDO;";

                //Criando um comando sql que será executado na base d edados
                using (SqlCommand cmd = new SqlCommand(strSQL))
                {
                    //Abrindo conexão com o banco de dados
                    conn.Open();
                    cmd.Connection = conn;
                    cmd.Parameters.Add("@ID_PEDIDO", SqlDbType.Int).Value = pedido;
                    cmd.CommandText = strSQL;
                    //Executando instrução sql
                    var dataReader = cmd.ExecuteReader();
                    var dt         = new DataTable();
                    dt.Load(dataReader);
                    //Fechando conexão com o banco de dados
                    conn.Close();

                    //Perconrrendo todos os registros encontrados na base de dados e adicionando em uma lista
                    foreach (DataRow row in dt.Rows)
                    {
                        var item_pedido = new Item_Pedido()
                        {
                            Id         = Convert.ToInt32(row["ID_ITEM"]),
                            Preco_item = Convert.ToDecimal(row["PRECO_ITEM"]),
                            Pedido     = new Pedido()
                            {
                                Id         = Convert.ToInt32(row["ID_PEDIDO"]),
                                Data       = Convert.ToDateTime(row["DATA_PEDIDO"]),
                                QtdSabores = Convert.ToInt32(row["QUANTIDADE_SABORES"]),
                                Status     = row["STATUS_PEDIDO"].ToString()
                            },
                            Produto_x_Tamanho = new Produto_x_Tamanho()
                            {
                                Id          = Convert.ToInt32(row["ID_PRODXTAMANHO"]),
                                Preco_Total = Convert.ToDecimal(row["PRECO_TOTAL"]),
                                Produto     = new Produto()
                                {
                                    Id   = Convert.ToInt32(row["ID_PRODUTO"]),
                                    Nome = row["NOME_PRODUTO"].ToString(),
                                    Tipo = row["TIPO_PRODUTO"].ToString()
                                },
                                Tamanho = new Tamanho()
                                {
                                    Id   = Convert.ToInt32(row["ID_TAMANHO"]),
                                    Nome = row["NOME_TAMANHO"].ToString()
                                }
                            }
                        };

                        lst.Add(item_pedido);
                    }
                }
            }
            return(lst);
        }
Пример #6
0
        private void btnAdicionar_Click(object sender, EventArgs e)
        {
            if (txtNomeCli.Text == "" || txtCPFCli.Text == "")
            {
                MessageBox.Show("Selecione o cliente.");
            }
            else if (txtCodProd.Text == "" || txtNomeProd.Text == "")
            {
                MessageBox.Show("Selecione o produto.");
            }
            else if (int.Parse(lbQuantProd.Text) < int.Parse(txtQuantidade.Text))
            {
                MessageBox.Show("Não há essa quantidade no estoque, certifique-se de que o produto é esse mesmo.");
            }
            else
            {
                try
                {
                    if (int.Parse(lbQuantProd.Text) - int.Parse(txtQuantidade.Text) < 10)
                    {
                        MandaEmail(txtNomeProd.Text);
                    }
                    if (id_pedido == 0)
                    {
                        ClientePedido pdcli = new ClientePedido();

                        pdcli.Emissao = DateTime.Now.Date;

                        MySqlConnection objCon = new MySqlConnection("server=localhost;port=3306;User Id=root;database=splash_shark;Character Set=utf8");
                        // abre o banco
                        objCon.Open();
                        MySqlCommand cmd2;
                        if (txtCPFCli.Text.Length > 14)
                        {
                            cmd2 = new MySqlCommand("SELECT id_cliente from pessoajuridica WHERE cnpj ='" + txtCPFCli.Text + "'", objCon);
                        }
                        else
                        {
                            cmd2 = new MySqlCommand("SELECT id_cliente from pessoafisica WHERE cpf ='" + txtCPFCli.Text + "'", objCon);
                        }
                        id_cli = Convert.ToInt32(cmd2.ExecuteScalar());
                        objCon.Close();

                        pdcli.Criar(id_cli);
                        id_pedido = pdcli.Numero;
                    }

                    int         cod_prod = int.Parse(txtCodProd.Text);
                    Item_Pedido itemPed  = new Item_Pedido();

                    MySqlConnection objcon = new MySqlConnection("server=localhost;port=3306;User Id=root;database=splash_shark;Character Set=utf8");
                    objcon.Open();

                    MySqlCommand cmd = new MySqlCommand("SELECT * from itempedido where numero_pedido = " + id_pedido + " and codigo_produto =" + cod_prod, objcon);

                    if (cmd.ExecuteScalar() != null)
                    {
                        itemPed.Excluir(id_pedido, cod_prod);
                        for (int i = 0; i < dataGridViewPedido.Rows.Count - 1; i++)
                        {
                            if (dataGridViewPedido.Rows[i].Cells[0].Value.ToString() == cod_prod.ToString())
                            {
                                dataGridViewPedido.CurrentCell = dataGridViewPedido.Rows[i].Cells[0];
                            }
                        }
                        oldPreco = Convert.ToDouble(dataGridViewPedido.CurrentRow.Cells[3].Value);
                        dataGridViewPedido.Rows.Remove(dataGridViewPedido.CurrentRow);
                        lbTotal.Text = (double.Parse(lbTotal.Text) - oldPreco).ToString("F");
                    }

                    dataGridViewPedido.Rows.Add();
                    dataGridViewPedido.CurrentCell = dataGridViewPedido.Rows[dataGridViewPedido.Rows.Count - 1].Cells[0];
                    dataGridViewPedido.CurrentRow.Cells[0].Value = txtCodProd.Text;
                    dataGridViewPedido.CurrentRow.Cells[1].Value = txtNomeProd.Text;
                    dataGridViewPedido.CurrentRow.Cells[2].Value = txtQuantidade.Text;

                    MySqlCommand objcmd2 = new MySqlCommand("SELECT preco from produto where codigo_produto =" + cod_prod, objcon);
                    double       preco   = double.Parse(objcmd2.ExecuteScalar().ToString());
                    dataGridViewPedido.CurrentRow.Cells[3].Value = preco.ToString("F");
                    objcon.Close();

                    itemPed.Preco      = preco;
                    itemPed.Quantidade = int.Parse(txtQuantidade.Text);
                    itemPed.Criar(id_pedido, cod_prod);

                    double subtotal = preco * int.Parse(txtQuantidade.Text);
                    dataGridViewPedido.CurrentRow.Cells[4].Value = subtotal.ToString("F");

                    lbTotal.Text       = (double.Parse(lbTotal.Text) + subtotal).ToString("F");
                    txtQuantidade.Text = "1";

                    txtCPFCli.Enabled  = false;
                    txtNomeCli.Enabled = false;
                }
                catch
                {
                }
            }
        }