none
percorrer duas tabelas RRS feed

  • Pergunta

  • Uso VS2010 e C# aspnet4 linqtosql

    Estou tentando salvar dados em duas diferentes tabelas e tenho que percorrer as duas, no modelo abaixo ele adiciona na primeira tabela (DetalhesEntrada) mas nao adiciona na segunda tabela (Duplicacao) o que pode tar errado??

     

    //salva na tabelaos DetalhesEntrada

                foreach (var item in listaItens)

                {

                    DetalhesEntrada objDetalhes = new DetalhesEntrada()

                    {

                        EntradaID = numPedido,

                        ProdutoID = item.ProdutoID,

                        Qtd = item.Qtde,

                        Lote = item.lote,

                        Validade = item.validade

                    };

                    duplicacao objDuplicacao = new duplicacao()

                    {

                        Id_Produto = item.ProdutoID,

                        NomeProduto = item.NomeProduto,

                        Qtde = item.Qtde,

                        Lote = item.lote,

                        Validade = item.validade

                    };    

    //codigo para percorrer a tab Produto e dar entrada

                    Produto BuProduto = dc.Produtos.First(c => c.ProdutoID == item.ProdutoID);

                    if (BuProduto.ProdutoID == item.ProdutoID)

                    {

                        BuProduto.Qtde += item.Qtde;

                    }

                    dc.DetalhesEntradas.InsertOnSubmit(objDetalhes);

                }

                // efetiva as inclusões

                dc.SubmitChanges();

                lblMsg.Text = "Entrada Confirmada com sucesso";

                btnPedido.Enabled = false;

            }

            catch (Exception ex)

            {

                lblMsg.Text = ex.Message;

            }

        }

    terça-feira, 31 de maio de 2011 12:50

Respostas

  • Tens de fazer por partes. Tens de enserir primeiro numa tabela e depois enserir na segunda tabela assim ja funciona.

     


    One word frees us of all the weight and pain of life: that word is love.
    • Marcado como Resposta Álvaro Luiz quarta-feira, 1 de junho de 2011 15:56
    terça-feira, 31 de maio de 2011 16:07

Todas as Respostas

  • Tens de fazer por partes. Tens de enserir primeiro numa tabela e depois enserir na segunda tabela assim ja funciona.

     


    One word frees us of all the weight and pain of life: that word is love.
    • Marcado como Resposta Álvaro Luiz quarta-feira, 1 de junho de 2011 15:56
    terça-feira, 31 de maio de 2011 16:07
  • Por partes...  igual o jack (stipador =D )
    Leonardo B. Moreira - Web Developer .net with asp.net and C# - I know, it is only programming but I like it. http://leonardobatistamoreira.blogspot.com
    terça-feira, 31 de maio de 2011 17:04
  • Tudo bem, tô fazendo assim agora, nao dá erro mas também nao salva na tabela Duplicacao

     

    // salva a entrada na tabela Entrada

        protected void BtnPedido_Click(object sender, EventArgs e)

        {

            try

            {            

                Entrada objEntrada = new Entrada()

                {

                    FornecedorID = int.Parse(dropCliente.SelectedValue),

                    TipoEntrada = dropSaida.SelectedValue,

                    DataEntrada = Convert.ToDateTime(TxtData.Text),

                    //     TotalEntrada = listaItens.Sum(p => p.Total),

                    NumEntrada = TxtNumEntra.Text,

                };

     

                dc.Entradas.InsertOnSubmit(objEntrada);

                dc.SubmitChanges();

     

     //retorna o numero do pedido gerado na tabela Entrada

                int numPedido = objEntrada.EntradaID;

     

     //salva na tabela DetalhesEntrada aqui salva

                foreach (var item in listaItens)

                {

                    DetalhesEntrada objDetalhes = new DetalhesEntrada()

                    {

                        EntradaID = numPedido,

                        ProdutoID = item.ProdutoID,

                        //    Preco = item.Preco,

                        Qtd = item.Qtde,

                        Lote = item.lote,

                        Validade = item.validade                  

                    };

     

    //codigo para percorrer a tab Produto e dar entrada

     

                    Produto BuProduto = dc.Produtos.First(c => c.ProdutoID == item.ProdutoID);

                    if (BuProduto.ProdutoID == item.ProdutoID)

                    {

                        BuProduto.Qtde += item.Qtde;

                    }

     

                    dc.DetalhesEntradas.InsertOnSubmit(objDetalhes);

                }

     

    //aqui nao salva na tabela Duplicacao, aqui é que tá o problema nao consigo salvar os dados nesta tabela

                foreach (var tip in listaItens)

                {

                    duplicacao objduplicacao = new duplicacao()

                    {

                        Id_Produto = tip.ProdutoID,

                        NomeProduto = tip.NomeProduto,

                        //     Preco = tip.Preco;

                        Qtde = tip.Qtde,

                        Lote = tip.lote,

                        Validade = tip.validade

                    };

                }

     

    // efetiva as inclusões

                dc.SubmitChanges();

     

                lblMsg.Text = "Entrada Confirmada com sucesso";

                btnPedido.Enabled = false;

            }

     



    terça-feira, 31 de maio de 2011 18:05