У меня есть это select
:
var CP = db.ContasPagar.Include(c => c.ContasPagarP).Where(c => c.Quitado == true && c.Caixa == false && c.BancoId == id).Select(c => new BancoList
{
Id = c.Id,
Data = c.DataPagamento,
Valor = c.Total,
Tipo = "D",
Documento = "Fat. Contas Diversas " + c.ContasPagarP.Codigo,
}).ToList();
var FP = db.FaturaContasPagar.Include(c => c.FaturaContasPagarP).Where(c => c.Quitado == true && c.Caixa == false && c.BancoId == id).Select(c => new BancoList
{
Id = c.Id,
Data = c.DataPagamento,
Valor = c.Total,
Tipo = "D",
Documento = "Fat. Nota Fiscal: " + c.FaturaContasPagarP.NotaFiscal,
}).ToList();
var CR = db.ContasReceber.Include(c => c.ContasReceberP).Where(c => c.Quitado == true && c.Caixa == false && c.BancoId == id).Select(c => new BancoList
{
Id = c.Id,
Data = c.DataPagamento,
Valor = c.Total,
Tipo = "C",
Documento = "Fat. Contas Diversas " + c.ContasReceberP.Codigo,
}).ToList();
var FR = db.FaturaContasReceber.Include(c => c.FaturaContasReceberP).Where(c => c.Quitado == true && c.Caixa == false && c.BancoId == id).Select(c => new BancoList
{
Id = c.Id,
Data = c.DataPagamento,
Valor = c.Total,
Tipo = "C",
Documento = c.FaturaContasReceberP.NotaFiscal != null ? "Fat. NFSe: " + c.FaturaContasReceberP.NotaFiscal : null + c.FaturaContasReceberP.NotaFiscalProdutos != null ? " NFe: " + c.FaturaContasReceberP.NotaFiscalProdutos : null,
}).ToList();
var BC = db.BancoMovimento.Where(c => c.Credito == true && c.ContaId == id).Select(c => new BancoList
{
Id = c.Id,
Data = c.DataMovimento,
Valor = c.Valor,
Tipo = "C",
Documento = c.Historico
}).ToList();
var BD = db.BancoMovimento.Where(c => c.Credito == false && c.ContaId == id).Select(c => new BancoList
{
Id = c.Id,
Data = c.DataMovimento,
Valor = c.Valor,
Tipo = "D",
Documento = c.Historico
}).ToList();
var union = CP.Union(FP).Union(FR).Union(CR).Union(BC).Union(BD).OrderBy(c => c.Data).ToList();
Только проблема возникает, не всегда заполнено Nfse
, и не всегда заполнено NotaFiscalProdutos
, мне нужно проверить этозначения, добавляемые в Documento
.
Если бы только поле NumeroNfse
имело значение, выглядело бы так: Fat. NFSe: " + c.FaturaContasReceberP.NFSe.NumeroNfse
и, если только NotaFiscalProdutos
retorar " NFe: " + c.FaturaContasReceberP.NotaFiscalProdutos
, и если оба возвращаютдва.
РЕДАКТИРОВАТЬ
Documento = (c.FaturaContasReceberP.NotaFiscal != null ? "Fat. NFSe: " + c.FaturaContasReceberP.NotaFiscal : null + c.FaturaContasReceberP.NotaFiscalProdutos != null ? " NFe: " + c.FaturaContasReceberP.NotaFiscalProdutos : null).Trim()
Я перешел на эту форму, но также не работает, как ожидалось.