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(); } } }
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); }
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)); }
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); } }
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); }
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 { } } }