Ir para conteúdo
Fórum Script Brasil

João Villar

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre João Villar

João Villar's Achievements

0

Reputação

  1. Faltou o cod de incluir Private Sub btnIncluir_Click(sender As Object, e As EventArgs) Handles btnIncluir.Click 'Verificamos a quantidade foi informada If txtQuantidadeUni.Text = String.Empty Then MsgBox("Informe a quantidade requerida.") txtQuantidadeUni.Focus() Exit Sub End If If txtData.Text = String.Empty Then MsgBox("Informe a data da venda.") txtData.Focus() End If 'Verificamos se o nome do produto , preço e quantidade não estão vazios If txtNomeProduto.Text <> "" And txtPrecoProduto.Text <> "" And txtQuantidadeUni.Text <> "" And txtCodigoCliente.Text <> "" Then 'Verificamos se o Do produto não é menor do que o solicitado If Convert.ToInt32(estoqueProduto) < Convert.ToInt32(txtQuantidadeUni.Text) Then 'Mostramos uma aviso ao usuário MsgBox("A quantidade requerida é Superior a do estoque") 'Como a quantidade solicitada é mario que o estoque 'perguntamos se o usuário deseja estabelecer o estoque atual 'com a nova quantidade informada If MessageBox.Show("Deseja estabelecer o estoque atual como a nova quantidade requerida", "Vendas", MessageBoxButtons.YesNo) = MsgBoxResult.Yes Then 'Establecemos a nova quantidade em estoque txtQuantidadeUni.Text = estoqueProduto 'Inicializamos o objeto da classe DetalhesPedidos oDetalhesPedidos = New DetalhesPedidos 'Preenchemos os valores '----------------------------------------------------------------- oDetalhesPedidos.QuantidadeUni = Convert.ToInt32(txtQuantidadeUni.Text) oDetalhesPedidos.QuantidadeCX = Convert.ToInt32(txtQuantidadeUni.Text / txtQuantidadeProduto.Text) = quantidadeCX oDetalhesPedidos.CodProduto = codProduto oDetalhesPedidos.NomeProduto = nomeProduto oDetalhesPedidos.PrecoUni = txtPrecoProduto.Text oDetalhesPedidos.PrecoCX = (txtPrecoProduto.Text * txtQuantidadeProduto.Text) oDetalhesPedidos.EstoqueProduto = estoqueProduto oDetalhesPedidos.Prazo1 = Convert.ToInt32(txtPrazo1.Text) oDetalhesPedidos.Prazo2 = Convert.ToInt32(txtPrazo2.Text) oDetalhesPedidos.Prazo3 = Convert.ToInt32(txtPrazo3.Text) oDetalhesPedidos.Prazo4 = Convert.ToInt32(txtPrazo4.Text) oDetalhesPedidos.Subtotal = txtPrecoProduto.Text * Convert.ToInt32(txtQuantidadeUni.Text) '------------------------------------------------------------------------ 'Verificamos se o produto esta na lista de pedidos 'e incluimos a lista de DetalhesPedidos If buscarDetalhesVendas(ArrDetalhesPedidos, oDetalhesPedidos) = False Then 'Agregamos o pedido a lista de DetalhesPedidos ArrDetalhesPedidos.Add(oDetalhesPedidos) End If 'Assciamos a lista de DetalhesPedidos como fonte de dados ao datagridview Me.dgvVendas.DataSource = ArrDetalhesPedidos Else 'Se não deseja estabelecer o estoque atual com a quantidade solicitada 'voltamos ao formulario para escolher outro produto btnProcuraProduto_Click(Nothing, Nothing) End If Else 'Como a quantidade requerida e menor que o estoque 'iniciamos o objeto da classe DetalhesPedidos oDetalhesPedidos = New DetalhesPedidos 'Preenchemos os valores no objeto oDetalhesPedidos.QuantidadeUni = Convert.ToInt32(txtQuantidadeUni.Text) oDetalhesPedidos.QuantidadeCX = Convert.ToInt32(txtQuantidadeUni.Text / txtQuantidadeProduto.Text) oDetalhesPedidos.CodProduto = codProduto oDetalhesPedidos.NomeProduto = nomeProduto oDetalhesPedidos.PrecoUni = txtPrecoProduto.Text oDetalhesPedidos.PrecoCX = (txtPrecoProduto.Text * Convert.ToInt32(txtQuantidadeProduto.Text)) oDetalhesPedidos.EstoqueProduto = estoqueProduto oDetalhesPedidos.Prazo1 = Convert.ToInt32(txtPrazo1.Text) oDetalhesPedidos.Prazo2 = Convert.ToInt32(txtPrazo2.Text) oDetalhesPedidos.Prazo3 = Convert.ToInt32(txtPrazo3.Text) oDetalhesPedidos.Prazo4 = Convert.ToInt32(txtPrazo4.Text) oDetalhesPedidos.Subtotal = txtPrecoProduto.Text * Convert.ToInt32(txtQuantidadeUni.Text) 'Verificamos se o produto solicitado esta na lista de pedidos 'Se não estiver incluimos na lista de DetalhesPedidos If buscarDetalhesVendas(ArrDetalhesPedidos, oDetalhesPedidos) = False Then 'Incluimos o pedido a lista de DetalhesPedidos ArrDetalhesPedidos.Add(oDetalhesPedidos) End If 'Associamos a lista como origem da fonte de dados Me.dgvVendas.DataSource = ArrDetalhesPedidos.ToList End If End If 'Limpamos os textBox Me.limpar_produto() 'Calculamos o Total do Pedido Me.calcular_total() End Sub
  2. Não estou conseguindo salvar mais de uma linha do datagrid no banco de dados. segue imagem a baixo e configuração Public Class frmVendasPedidos Inherits System.Windows.Forms.Form 'Definir o objeto bd da classe JcmSoftDataContext Dim bd As New dcVRDataContext 'Definir objeto da clase DetalhesPedidos Dim oDetalhesPedidos As DetalhesPedidos Dim nomeProduto As String Dim codProduto As String Dim QuantidadeUni As Integer Dim quantidadeCX As Integer Dim precoUniProduto As Double Dim precoCx As Double Dim codigoCliente As String Dim estoqueProduto As Integer Dim Prazo1 As Integer Dim Prazo2 As Integer Dim Prazo3 As Integer Dim Prazo4 As Integer Dim data As Date Dim precoTotal As Double 'Definir una LISTA de Objetos DetalhesPedidos Dim ArrDetalhesPedidos As New List(Of DetalhesPedidos) Private Sub btnSalvar_Click(sender As Object, e As EventArgs) Handles btnSalvar.Click 'Vamos usar o mapeamento feito pelo LINQ 'para efetivar as atualizações nas bases de dados Try 'A expressão lambda a seguir devolve um objeto Cliente 'Estamos usando o codigo do cliente para identificar unicamento o cliente Dim Cli As tblCliente = bd.tblClientes.Single(Function(p) p.IdCliente = Me.txtCodigoCliente.Text) '------------------------------------------------- 'Cria um novo objeto Pedido '------------------------------------------------- Dim oPedido As New tblPedido oPedido.Data = txtData.Text oPedido.IdCliente = Cli.IdCliente oPedido.tblCliente = Cli oPedido.NomeCliente = Cli.Cliente oPedido.NomeProduto = nomeProduto oPedido.QuantidadeUni = oDetalhesPedidos.QuantidadeUni oPedido.QuantidadeCX = oDetalhesPedidos.QuantidadeCX oPedido.PrecoUni = oDetalhesPedidos.PrecoUni oPedido.PrecoCx = oDetalhesPedidos.PrecoCX oPedido.Prazo1 = oDetalhesPedidos.Prazo1 oPedido.Prazo2 = oDetalhesPedidos.Prazo2 oPedido.Prazo3 = oDetalhesPedidos.Prazo3 oPedido.Prazo4 = oDetalhesPedidos.Prazo4 oPedido.PrecoTotal = oDetalhesPedidos.Subtotal '-------------------------------------------------- 'Obtendo os detalhes do pedido 'realizo a geração dos objetos Pedido 'vou percorrer o array dos detalhes do pedido '---------------------------------------------------- For Each o As DetalhesPedidos In ArrDetalhesPedidos 'Instancio um objeto Produto selecionando pelo codigo do produto Dim prod As tblProduto = bd.tblProdutos.Single(Function(a) a.IdProduto = o.CodProduto.ToString()) 'Cria um novo detalhe do pedido Dim detPedido As New tblProduto detPedido.Produto = prod.Produto detPedido.IdProduto = prod.IdProduto detPedido.Quantidade = o.QuantidadeUni '-altera a quantidade de estoque do produto prod.Estoque = prod.Estoque - o.QuantidadeUni Next '------------------------------------------------------ 'Aqui atualizo a base de dados bd.SubmitChanges() MsgBox("Venda registrada com sucesso...") Catch ex As Exception MsgBox(ex.Message) Finally 'chama as rotinas para limpar clientes e produtos e vendas limpar_cliente() limpar_produto() limpar_venda() Me.calcular_total() End Try End Sub imagens anexadas
  3. Como consigo fazer com que as ID's - Cliente, produto, Fabrica e vendedor aparecam os nomes, no lugar de eu ter que digitar o seu codigo??
×
×
  • Criar Novo...