COMANDO NO ENTITY FRAMEWORK
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
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
Basta trocar o [Ô]<> NOTHING[Ô] por [Ô]= VALORDESEJADO[Ô]
Só pra me situar, você está usando um edmx, certo?
Só pra me situar, você está usando um edmx, certo?
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()
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()
Você não tem como concatenar comando, para cada condição é um LINQ diferente.
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
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
Você está no caminho...
Tópico encerrado , respostas não são mais permitidas