SOMA LINQ COM ITEM NULL

MAXCIM 09/11/2023 11:56:58
#501860
Olá amigos, tudo bem?

como faço para tratar direto dentro do LINQ, quando um item é NULL / Nothing ?

somei e agrupei a vendas do ano, logo não tenho a linha referente a dezembro, ou de algum outro mês que não houve faturamento.

tem como colocar uma instrução dentro do LINQ / lambida?
WEBMASTER 09/11/2023 18:52:02
#501867
Selecionar com null...

return db.Transacoes.Where(p => p.Estado > 0 && !p.ConfirmadaNaURL && p.URLDeConfirmacao != null && p.URLDeConfirmacao.Length > 0 && (p.TentativasDeConfirmacao == null || p.TentativasDeConfirmacao <= tries) && (p.ProximaTentativaDeConfirmacao == null || p.ProximaTentativaDeConfirmacao <= dtNow)).OrderBy(o => o.Id).Take(1000).Select(t => t.Id);


Uma agregação

List<int> ids = db.AntecipacoesLotes.Where(p => p.Sincronizado == null).GroupBy(p => p.ConvenioId).Select(group => group.Key).ToList();


Outro exemplo de agregação

public void Totalizar(AntecipacaoConvenio convenio)
{
if (convenio == null)
return;

try
{
var queryValor = db.AntecipacoesLotes
.Where(p => p.ConvenioId == convenio.ConvenioId && p.Elegivel == true)
.GroupBy(p => p.ConvenioId)
.Select(group => new
{
Id = group.Key,
Valor = group.Sum(p => p.ValorPresenteAntecipavel),
Quantidade = group.Count(),
Ultimo = group.Max(p => p.Criado),
});
foreach (var item in queryValor)
{
convenio.TotalValorAntecipavel = item.Valor;
convenio.TotalQuantidadeElegiveis = item.Quantidade;
convenio.Carregado = item.Ultimo;
}
convenio.Totalizado = DateTime.Now;
Update(convenio);
}
catch (Exception ex)
{
throw ex;
}
}
Faça seu login para responder