Write Listview in SQL Database using Entity Framework and C#

Asked

Viewed 506 times

2

I am developing a sales desktop application using C# and Entity Framework and I am having doubts about recording the items entered in ListView in the SQL database.

How to save inserted items to ListView on my table tb_itens_venda at the bank?

To insert the items in ListView I’m using the following code:

private void btnInserir_Click(object sender, EventArgs e)
{
    //ListaPedidoItem.AddNew();

    vwProduto produto = new vwProduto();
    ProdutoBLL objProduto = new ProdutoBLL();

    produto = objProduto.FindBy(txtCodBarras.Text);

    PedidoItem item = new PedidoItem();
    item.CodigoProduto = txtCodBarras.Text;
    item.Quantidade = int.Parse(txtQuantidade.Text);
    item.ValorUnitario = produto.PrecoVenda;

    PreencheGrid(item);
}

And the method PreencheGrid

private void PreencheGrid(PedidoItem item)
{
    //listView1.Items.Clear();

    ProdutoBLL objProduto = new ProdutoBLL();

    vwProduto entidade = objProduto.FindBy(item.CodigoProduto);
    ListViewItem novoitem = new ListViewItem(entidade.CodigoBarras);

    novoitem.SubItems.Add(entidade.Descricao);
    novoitem.SubItems.Add(item.Quantidade.ToString());
    novoitem.SubItems.Add(((decimal)item.ValorUnitario).ToString("C"));
    novoitem.SubItems.Add(((decimal)item.ValorUnitario * item.Quantidade).ToString("C"));

    listView1.Items.Add(novoitem);

    // PedidoItem é minha classe DTO.
    this.itens.Add(new PedidoItem()
    {
         CodigoProduto = entidade.CodigoBarras,
         DescricaoProduto = entidade.Descricao,
         Quantidade = int.Parse(entidade.Quantidade),
         ValorUnitario = entidade.PrecoVenda
    });
}
  • What’s wrong with your write code? Does it make a mistake? What happens?

  • I have a record button that does not yet perform any action because I don’t know how to do to pick up these inserted items in Listview and record

  • 1

    It would not be better to record the item in the database and then update the listview with the items in the database?

1 answer

1

On the record button you will put the Commandname = "Update" or "Insert" will implements the Onitemcommand event from the listview within the method you will get the eventargs Item and through this control you can get the others using Item.Findcontrol("Control"); then just set the values in the object properties and save.

   protected void ItemCommand(object sender, ListViewCommandEventArgs e)
{
    ListViewItem item = e.Item;

 switch (e.CommandName)
        {
 case "Insert":
var controle = item.FindControl("controlId");
/*Escreva a logica para obter os valores da tela*/
 break;

         }

/*Escreva a logica para salvar os valores*/

 }

you will have to implement listview Oniteminserting and/or Onitemupdating

Browser other questions tagged

You are not signed in. Login or sign up in order to post.