COMO DECLARAR ESTA VARIÁVEL

 Tópico anterior Próximo tópico Novo tópico

COMO DECLARAR ESTA VARIÁVEL

C#

 Compartilhe  Compartilhe  Compartilhe
#483652 - 03/08/2018 10:18:36

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Kerplunk, esta sintaxe não está funcionando comigo:
var filtro = db.Estoque
     .Join(db.Produto, est.ProdutoId = prod.Id)
     .Join(db.Tipo, est.SiglaTipoOperacao = tipo.Sigla)

Não está reconhecendo est, prod e tipo;

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483655 - 03/08/2018 10:49:53

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Me manda a estrutura da sua tabela pra eu montar aqui, de preferência o script sql...

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#483656 - 03/08/2018 11:03:12

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Veja se é isso que você quer:

Tabela Estoque
CREATE TABLE [Estoque] (
  [Id] int IDENTITY (1,1)  NOT NULL
, [Data] datetime NULL
, [CodigoProduto] nvarchar(8)  NULL
, [Quantidade] int  NULL
, [Historico] nvarchar(50)  NULL
, [ClienteId] int  NULL
, [FornecedorId] int  NULL
, [ProdutoId] int  NULL
, [TipoOperacaoId] int  NULL
, [SiglaTipoOperacao] nvarchar(2)  NULL
);
GO
ALTER TABLE [Estoque] ADD CONSTRAINT [PK_Estoque] PRIMARY KEY ([Id]);
GO


Tabela Produto
CREATE TABLE [Produto] (
  [Id] int IDENTITY (1,1)  NOT NULL
, [Codigo] int  NULL
, [Descricao] nvarchar(100)  NULL
, [PrecoCompra] nvarchar(10)  NULL
, [PrecoVenda] nvarchar(10)  NULL
, [Bloqueado] bit NULL
, [Motivo] nvarchar(30)  NULL
, [EstoqueAtual] int  NULL
, [FornecedorId] int  NOT NULL
, [GrupoId] int  NOT NULL
, [CodigoFornecedor] nvarchar(20)  NULL
, [Deleted] bit NULL
, [CodigoProduto] nvarchar(8)  NULL
);
GO
ALTER TABLE [Produto] ADD CONSTRAINT [PK_Produto] PRIMARY KEY ([Id]);
GO


Tabela TipoOperacao
CREATE TABLE [TipoOperacao] (
  [Id] int IDENTITY (1,1)  NOT NULL
, [Sigla] nvarchar(2)  NULL
, [Descricao] nvarchar(30)  NULL
, [Tipo] nvarchar(10)  NULL
);
GO
ALTER TABLE [TipoOperacao] ADD CONSTRAINT [PK_TipoOperacao] PRIMARY KEY ([Id]);
GO


____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483657 - 03/08/2018 11:30:42

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Só atente pare os nomes. Coloque isso no LinqPad e adapte:

Estoques
   .Join (
      Produtos,
      est => est.ProdutoId,
      prod => (Int32?)(prod.Id),
      (est, prod) =>
         new  
         {
            est = est,
            prod = prod
         }
   )
   .Join (
      TipoOperacaos,
      est => est.est.SiglaTipoOperacao,
      tipo => tipo.Sigla,
      (est, tipo) =>
         new  
         {
            data = est.est.Data,
            codigoproduto = est.est.CodigoProduto,
            produto = est.prod.Descricao,
            quantidade = est.est.Quantidade,
            sigla = tipo.Sigla,
            tipooperacao = tipo.Descricao,
            Quantidade = est.est.Quantidade,
            CodigoProduto = est.est.CodigoProduto
         }
   )
    .Where(x => (txtCodigo != "") ? x.CodigoProduto == txtCodigo : x.CodigoProduto != null);



_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#483661 - 03/08/2018 12:28:38

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Como eu posso testar no LinqPad para mostrar os resultados?
Se eu tirar a clausula Where funciona, porém como eu testo o valor do txtCodigo?

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483663 - 03/08/2018 13:04:14

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Aquela variável é pra representar sua textbox, obviamente ela não existe no LINQPad, então usei uma variável

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#483665 - 03/08/2018 13:15:14

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Tá difícil, viu Kerplunk.
Minha query ficou assim:
                    var filtro = db.Estoque
                        .Join(db.Produto,
                        est => est.ProdutoId,
                        prod => (Int32)(prod.Id),
                        (est, prod) =>
                        new
                        {
                            est = est,
                            prod = prod
                        }
                        )

                        .Join(db.TipoOperacao,
                        est => est.est.SiglaTipoOperacao,
                        tipo => tipo.Sigla,
                        (est, tipo) =>
                        new
                        {
                            data = est.est.Data,
                            codigoproduto = est.est.CodigoProduto,
                            produto = est.prod.Descricao,
                            quantidade = est.est.Quantidade,
                            sigla = tipo.Sigla,
                            tipooperacao = tipo.Descricao,
                            Quantidade = est.est.Quantidade,
                            CodigoProduto = est.est.CodigoProduto
                        })

Dessa maneira mostra todos os registros corretamente.
Se eu incluir o Where no final:
.Where(x => (mskCodigoProduto.Text != "") ? x.CodigoProduto == mskCodigoProduto.Text : x.CodigoProduto != null)

Ocorre uma Exception:
"An error occurred while executing the command definition. See the inner exception for details."
"p__linq__0 : String truncation: max=0, len=8, value='01.00001'."
Alguma sugestão?

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483666 - 03/08/2018 13:27:14

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Você viu o que diz no inner exception?

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#483668 - 03/08/2018 13:36:30

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Segue o print:


____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483669 - 03/08/2018 13:38:38

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Expanda o InnerException

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por PERCIFILHO em 07/08/2018 08:36:05