AJUDA NO COMANDO

FERRUBIM 19/03/2016 11:07:46
#459484
alguem pode me ajudar a como fazer este comando:
tenho um campo chamado txtBanco.Text e txtUF.Text que podem ou nao ser informados.... como faço um comando único para testar isso pelo entity framework e nao precisar criar resultado e resultado2 ????

Using ctxsisa = New SISAEntities()

If txtBanco.Text <> [Ô][Ô] Then
Dim resultado = (From usuario In ctxsisa.vw_cliente_por_operador Where usuario.CD_USUARIO = txtNomeUsuario.Text And usuario.FL_EXCLUIDO = 0 _
And usuario.DS_BANCO = txtBanco.Text _
Select usuario.NM_PESSOA, usuario.CD_CONTRATO, _
usuario.NR_PARCELA, usuario.DT_VCTO, usuario.VL_TITULO, usuario.NR_DIAS_ATRASO, _
usuario.AN_CNPJ_CPF, usuario.DIAS_EVENTO, usuario.DT_EVENTO_REAL, usuario.AN_DS_EVENTO_ASSUNTO, _
usuario.CD_CLIENTE, usuario.DS_BANCO, usuario.CD_USUARIO _
).ToList()

For Each par In resultado.ToList
DataGridView1.Rows.Add()

DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CLIENTE[Ô]).Value = par.NM_PESSOA
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CONTRATO[Ô]).Value = par.CD_CONTRATO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]PARCELA[Ô]).Value = par.NR_PARCELA
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DT_VCTO[Ô]).Value = par.DT_VCTO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]VALOR[Ô]).Value = par.VL_TITULO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DIAS_ATRASO[Ô]).Value = par.NR_DIAS_ATRASO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CPF[Ô]).Value = par.AN_CNPJ_CPF
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]ULT_EVENTO[Ô]).Value = par.DIAS_EVENTO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DT_ULT_EVENTO[Ô]).Value = Format(par.DT_EVENTO_REAL, [Ô]dd/MM/yyyy[Ô])
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DESCRICAO[Ô]).Value = par.AN_DS_EVENTO_ASSUNTO
DataGridView1.Columns([Ô]DESCRICAO[Ô]).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CODIGO[Ô]).Value = par.CD_CLIENTE
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]BANCO[Ô]).Value = par.DS_BANCO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]USUARIO[Ô]).Value = par.CD_USUARIO
Next
Else
Dim resultado2 = (From usuario In ctxsisa.vw_cliente_por_operador Where usuario.CD_USUARIO = txtNomeUsuario.Text And usuario.FL_EXCLUIDO = 0 _
Select usuario.NM_PESSOA, usuario.CD_CONTRATO, _
usuario.NR_PARCELA, usuario.DT_VCTO, usuario.VL_TITULO, usuario.NR_DIAS_ATRASO, _
usuario.AN_CNPJ_CPF, usuario.DIAS_EVENTO, usuario.DT_EVENTO_REAL, usuario.AN_DS_EVENTO_ASSUNTO, _
usuario.CD_CLIENTE, usuario.DS_BANCO, usuario.CD_USUARIO _
).ToList()

For Each par In resultado2.ToList
DataGridView1.Rows.Add()

DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CLIENTE[Ô]).Value = par.NM_PESSOA
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CONTRATO[Ô]).Value = par.CD_CONTRATO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]PARCELA[Ô]).Value = par.NR_PARCELA
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DT_VCTO[Ô]).Value = par.DT_VCTO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]VALOR[Ô]).Value = par.VL_TITULO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DIAS_ATRASO[Ô]).Value = par.NR_DIAS_ATRASO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CPF[Ô]).Value = par.AN_CNPJ_CPF
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]ULT_EVENTO[Ô]).Value = par.DIAS_EVENTO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DT_ULT_EVENTO[Ô]).Value = Format(par.DT_EVENTO_REAL, [Ô]dd/MM/yyyy[Ô])
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DESCRICAO[Ô]).Value = par.AN_DS_EVENTO_ASSUNTO
[ô] DataGridView1.Columns([Ô]DESCRICAO[Ô]).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft
DataGridView1.Columns([Ô]DESCRICAO[Ô]).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CODIGO[Ô]).Value = par.CD_CLIENTE
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]BANCO[Ô]).Value = par.DS_BANCO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]USUARIO[Ô]).Value = par.CD_USUARIO
Next
End If
KERPLUNK 19/03/2016 16:25:00
#459493
Resposta escolhida
1 - Você não precisa percorrer o resultado e colocar um a um no grid, simplesmente faça:

DataGridView1.Datasource = resultado

2 - No seu lugar eu usaria LINQ para fazer essa seleção, mas você pode simplesmente pegar os parâmetros e colocar em uma mesma cláusula where.
FERRUBIM 19/03/2016 20:10:29
#459503
mudei o comando e fiz assim conforme abaixo., o problema é q carrego todos os registros e depois um a um vou fazendo o teste..... o que não sei como fazer é como colocar por exemplo o teste txtUF.Text dentro do resultado pois ele pode ou não ser informado na seleção ???? e como uso o LINQ para fazer essa seleção ??? podería me dar um exemplo pois to perdido ???

DataGridView1.Rows.Clear()
Using ctxsisa = New SISAEntities()
Dim resultado = (From usuario In ctxsisa.vw_cliente_por_operador Where usuario.CD_USUARIO = txtNomeUsuario.Text And usuario.FL_EXCLUIDO = 0 _
Select usuario.NM_PESSOA, usuario.CD_CONTRATO, _
usuario.NR_PARCELA, usuario.DT_VCTO, usuario.VL_TITULO, usuario.NR_DIAS_ATRASO, _
usuario.AN_CNPJ_CPF, usuario.DIAS_EVENTO, usuario.DT_EVENTO_REAL, usuario.AN_DS_EVENTO_ASSUNTO, _
usuario.CD_CLIENTE, usuario.DS_BANCO, usuario.CD_USUARIO, usuario.CD_UF _
).ToList()

For Each par In resultado.ToList
WL_CD_UF = par.CD_UF
WL_CD_CLIENTE = par.CD_CLIENTE
WL_DS_BANCO = par.DS_BANCO
If txtUF.Text <> [Ô][Ô] Then
If txtUF.Text <> WL_CD_UF Then
GoTo VAI_LER_PROXIMO
End If
End If
If txtBanco.Text <> [Ô][Ô] Then
If txtBanco.Text <> WL_DS_BANCO Then
GoTo VAI_LER_PROXIMO
End If
End If

DataGridView1.Rows.Add()
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CLIENTE[Ô]).Value = par.NM_PESSOA
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CONTRATO[Ô]).Value = par.CD_CONTRATO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]PARCELA[Ô]).Value = par.NR_PARCELA
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DT_VCTO[Ô]).Value = par.DT_VCTO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]VALOR[Ô]).Value = par.VL_TITULO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DIAS_ATRASO[Ô]).Value = par.NR_DIAS_ATRASO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CPF[Ô]).Value = par.AN_CNPJ_CPF
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]ULT_EVENTO[Ô]).Value = par.DIAS_EVENTO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DT_ULT_EVENTO[Ô]).Value = Format(par.DT_EVENTO_REAL, [Ô]dd/MM/yyyy[Ô])
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]DESCRICAO[Ô]).Value = par.AN_DS_EVENTO_ASSUNTO
DataGridView1.Columns([Ô]DESCRICAO[Ô]).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]CODIGO[Ô]).Value = par.CD_CLIENTE
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]BANCO[Ô]).Value = par.DS_BANCO
DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells([Ô]USUARIO[Ô]).Value = par.CD_USUARIO
VAI_LER_PROXIMO:
Next
Tópico encerrado , respostas não são mais permitidas