COMANDO NO ENTITY FRAMEWORK

FERRUBIM 24/05/2016 08:34:31
#462478
Uso o entity framework para fazer o comando porem nao sei como colocar as condicoes,tenho
as seguintes condicoes(SAO 3, POREM DENTRO DE DUAS DESTAS CONDICOES PODE TER VARIAS OUTRAS,COMO MOSTRO ABAIXO)

1 - por periodo
2 - por tipo de periodo: se por data de vcto,se por data de inclusao,se por data de pagamento
3 - por checkbox marcado: tenho somente da parcela nr 1, somente das parcelas pagas,somente das parcelas nao pagas

**** como neste comando , por exemplo, posso fazer a selecao por
data inicial e final + por data de vcto + somente parcelas pagas
E OUTRO
selecao por data inicial e final + por data de vcto + somente parcelas NÃO pagas ????????


NAO SEI COMO FAZER O WHERE [Ô]TROCAR[Ô] CONFORME[Ô] A SELECAO ...
Where acordo.DT_PAGTO <> NOTHING And acordo.DT_INCLUSAO >= dtpInicial.Text And
acordo.DT_INCLUSAO <= dtpFinal.Text




Using ctxsisa As New SISASPEntities
resultado = (From acordo In ctxsisa.TAB_ACORDO
Join cli In ctxsisa.TAB_CHAVE_ACORDO
On acordo.NR_ACORDO_BANCO Equals cli.NR_ACORDO_BANCO
Where acordo.DT_PAGTO <> NOTHING And acordo.DT_INCLUSAO >= dtpInicial.Text And
acordo.DT_INCLUSAO <= dtpFinal.Text
Order By cli.NR_ACORDO_BANCO, acordo.NR_PARCELA Ascending
Select cli.NR_ACORDO_BANCO, acordo.NR_PARCELA, acordo.VL_PARCELA, acordo.DT_VCTO,
acordo.VL_HONORARIO, acordo.DT_PAGTO, acordo.VL_HONORARIO_PAGO,
acordo.DT_APROVACAO, acordo.DT_EMISSAO_NF, acordo.NR_RECIBO,
acordo.DT_PAGTO_NF, cli.NR_DOSSIE).ToList()

For Each par In resultado
linha += 1
objExcel.ActiveSheet.Cells(linha, 1).Value = par.NR_ACORDO_BANCO
objExcel.ActiveSheet.Cells(linha, 2).Value = par.NR_PARCELA
objExcel.ActiveSheet.Cells(linha, 3).Value = par.VL_PARCELA
objExcel.ActiveSheet.Cells(linha, 3).NumberFormat = [Ô]###,###,##0.00[Ô]
objExcel.ActiveSheet.Cells(linha, 4).Value = par.DT_VCTO
objExcel.ActiveSheet.Cells(linha, 5).Value = par.VL_HONORARIO
objExcel.ActiveSheet.Cells(linha, 5).NumberFormat = [Ô]###,###,##0.00[Ô]
Next
End Using
KERPLUNK 24/05/2016 08:56:05
#462479
Basta trocar o [Ô]<> NOTHING[Ô] por [Ô]= VALORDESEJADO[Ô]

Só pra me situar, você está usando um edmx, certo?
FERRUBIM 24/05/2016 09:09:00
#462481
sim,uso o edmx ... nao fui explicito..o q quero saber e como colocar [Ô]varios if s[Ô] nesse comando dentro do where

If txtParcela1.Checked = True and txtTipo.Text = [ô]Por Data de Vencimento[ô] Then
acordo.NR_PARCELA = 1 And acordo.DT_INCLUSAO >= dtpInicial.Text And
acordo.DT_INCLUSAO <= dtpFinal.Text
else
If txtParcela2.Checked = True and txtTipo.Text = [ô]Por Data de Vencimento[ô] Then
acordo.NR_PARCELA > 1 And acordo.DT_INCLUSAO >= dtpInicial.Text And
acordo.DT_INCLUSAO <= dtpFinal.Text

end if
end if


como faço o comando tendo varias opcoes ???


resultado = (From acordo In ctxsisa.TAB_ACORDO
Join cli In ctxsisa.TAB_CHAVE_ACORDO
On acordo.NR_ACORDO_BANCO Equals cli.NR_ACORDO_BANCO
Where
Order By cli.NR_ACORDO_BANCO, acordo.NR_PARCELA Ascending
Select cli.NR_ACORDO_BANCO, acordo.NR_PARCELA, acordo.VL_PARCELA, acordo.DT_VCTO,
acordo.VL_HONORARIO, acordo.DT_PAGTO, acordo.VL_HONORARIO_PAGO,
acordo.DT_APROVACAO, acordo.DT_EMISSAO_NF, acordo.NR_RECIBO,
acordo.DT_PAGTO_NF, cli.NR_DOSSIE).ToList()
KERPLUNK 24/05/2016 09:29:57
#462483
Resposta escolhida
Você não tem como concatenar comando, para cada condição é um LINQ diferente.
FERRUBIM 24/05/2016 11:01:24
#462488
cara,se eu entendi tenho q fazer assim ??

If txtParcela1.Checked = True Then
IF txtTipo.Text = [ô]Por Data de Vencimento[ô] then
resultado = (From acordo In ctxsisa.TAB_ACORDO
Join cli In ctxsisa.TAB_CHAVE_ACORDO
On acordo.NR_ACORDO_BANCO Equals cli.NR_ACORDO_BANCO
Where acordo.NR_PARCELA = 1 And acordo.DT_VCTO >= dtpInicial.Text And acordo.DT_VCTO <= dtpFinal.Text
Order By cli.NR_ACORDO_BANCO, acordo.NR_PARCELA Ascending
Select Case cli.NR_ACORDO_BANCO, acordo.NR_PARCELA, acordo.VL_PARCELA, acordo.DT_VCTO,
acordo.VL_HONORARIO, acordo.DT_PAGTO, acordo.VL_HONORARIO_PAGO,
acordo.DT_APROVACAO, acordo.DT_EMISSAO_NF, acordo.NR_RECIBO,
acordo.DT_PAGTO_NF, cli.NR_DOSSIE).ToList()
ELSE
IF txtTipo.Text = [ô]Por Data do Acordo[ô] then
resultado = (From acordo In ctxsisa.TAB_ACORDO
Join cli In ctxsisa.TAB_CHAVE_ACORDO
On acordo.NR_ACORDO_BANCO Equals cli.NR_ACORDO_BANCO
Where acordo.NR_PARCELA = 1 And acordo.DT_ACORDO >= dtpInicial.Text And acordo.DT_ACORDO <= dtpFinal.Text
Order By cli.NR_ACORDO_BANCO, acordo.NR_PARCELA Ascending
Select Case cli.NR_ACORDO_BANCO, acordo.NR_PARCELA, acordo.VL_PARCELA, acordo.DT_VCTO,
acordo.VL_HONORARIO, acordo.DT_PAGTO, acordo.VL_HONORARIO_PAGO,
acordo.DT_APROVACAO, acordo.DT_EMISSAO_NF, acordo.NR_RECIBO,
acordo.DT_PAGTO_NF, cli.NR_DOSSIE).ToList()

ELSE
IF txtTipo.Text = [ô]Por Data de Pagamento[ô] then
resultado = (From acordo In ctxsisa.TAB_ACORDO
Join cli In ctxsisa.TAB_CHAVE_ACORDO
On acordo.NR_ACORDO_BANCO Equals cli.NR_ACORDO_BANCO
Where acordo.NR_PARCELA = 1 And acordo.DT_PAGTO >= dtpInicial.Text And acordo.DT_PAGTO <= dtpFinal.Text
Order By cli.NR_ACORDO_BANCO, acordo.NR_PARCELA Ascending
Select Case cli.NR_ACORDO_BANCO, acordo.NR_PARCELA, acordo.VL_PARCELA, acordo.DT_VCTO,
acordo.VL_HONORARIO, acordo.DT_PAGTO, acordo.VL_HONORARIO_PAGO,
acordo.DT_APROVACAO, acordo.DT_EMISSAO_NF, acordo.NR_RECIBO,
acordo.DT_PAGTO_NF, cli.NR_DOSSIE).ToList()

END IF
END IF
END IF
ELSE
If txtParcela2.Checked = True Then

NOVAMENTE COMANDOS
END IF
END IF
KERPLUNK 24/05/2016 13:25:43
#462497
Você está no caminho...
Tópico encerrado , respostas não são mais permitidas