Corrigir dados de vigência em notificações
This commit is contained in:
parent
71ab348bc3
commit
aca7f4e74a
|
|
@ -29,6 +29,10 @@ public class NotificationsController : ControllerBase
|
|||
join vigencia in _db.VigenciaLines.AsNoTracking()
|
||||
on notification.VigenciaLineId equals vigencia.Id into vigencias
|
||||
from vigencia in vigencias.DefaultIfEmpty()
|
||||
let vigenciaByLinha = _db.VigenciaLines.AsNoTracking()
|
||||
.Where(v => notification.Linha != null && v.Linha == notification.Linha)
|
||||
.OrderByDescending(v => v.UpdatedAt)
|
||||
.FirstOrDefault()
|
||||
orderby notification.Data descending
|
||||
select new NotificationDto
|
||||
{
|
||||
|
|
@ -42,13 +46,23 @@ public class NotificationsController : ControllerBase
|
|||
Lida = notification.Lida,
|
||||
LidaEm = notification.LidaEm,
|
||||
VigenciaLineId = notification.VigenciaLineId,
|
||||
Cliente = notification.Cliente ?? vigencia.Cliente,
|
||||
Linha = notification.Linha ?? vigencia.Linha,
|
||||
Conta = vigencia.Conta,
|
||||
Usuario = notification.Usuario ?? vigencia.Usuario,
|
||||
PlanoContrato = vigencia.PlanoContrato,
|
||||
DtEfetivacaoServico = vigencia.DtEfetivacaoServico,
|
||||
DtTerminoFidelizacao = vigencia.DtTerminoFidelizacao
|
||||
Cliente = notification.Cliente
|
||||
?? (vigencia != null ? vigencia.Cliente : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Cliente : null),
|
||||
Linha = notification.Linha
|
||||
?? (vigencia != null ? vigencia.Linha : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Linha : null),
|
||||
Conta = (vigencia != null ? vigencia.Conta : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Conta : null),
|
||||
Usuario = notification.Usuario
|
||||
?? (vigencia != null ? vigencia.Usuario : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Usuario : null),
|
||||
PlanoContrato = (vigencia != null ? vigencia.PlanoContrato : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.PlanoContrato : null),
|
||||
DtEfetivacaoServico = (vigencia != null ? vigencia.DtEfetivacaoServico : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.DtEfetivacaoServico : null),
|
||||
DtTerminoFidelizacao = (vigencia != null ? vigencia.DtTerminoFidelizacao : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.DtTerminoFidelizacao : null)
|
||||
})
|
||||
.ToListAsync();
|
||||
|
||||
|
|
@ -119,15 +133,30 @@ public class NotificationsController : ControllerBase
|
|||
join vigencia in _db.VigenciaLines.AsNoTracking()
|
||||
on notification.VigenciaLineId equals vigencia.Id into vigencias
|
||||
from vigencia in vigencias.DefaultIfEmpty()
|
||||
let vigenciaByLinha = _db.VigenciaLines.AsNoTracking()
|
||||
.Where(v => notification.Linha != null && v.Linha == notification.Linha)
|
||||
.OrderByDescending(v => v.UpdatedAt)
|
||||
.FirstOrDefault()
|
||||
orderby notification.ReferenciaData descending, notification.Data descending
|
||||
select new NotificationExportRow(
|
||||
vigencia.Conta,
|
||||
notification.Linha ?? vigencia.Linha,
|
||||
notification.Cliente ?? vigencia.Cliente,
|
||||
notification.Usuario ?? vigencia.Usuario,
|
||||
vigencia.PlanoContrato,
|
||||
vigencia.DtEfetivacaoServico,
|
||||
notification.ReferenciaData ?? vigencia.DtTerminoFidelizacao,
|
||||
(vigencia != null ? vigencia.Conta : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Conta : null),
|
||||
notification.Linha
|
||||
?? (vigencia != null ? vigencia.Linha : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Linha : null),
|
||||
notification.Cliente
|
||||
?? (vigencia != null ? vigencia.Cliente : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Cliente : null),
|
||||
notification.Usuario
|
||||
?? (vigencia != null ? vigencia.Usuario : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.Usuario : null),
|
||||
(vigencia != null ? vigencia.PlanoContrato : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.PlanoContrato : null),
|
||||
(vigencia != null ? vigencia.DtEfetivacaoServico : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.DtEfetivacaoServico : null),
|
||||
notification.ReferenciaData
|
||||
?? (vigencia != null ? vigencia.DtTerminoFidelizacao : null)
|
||||
?? (vigenciaByLinha != null ? vigenciaByLinha.DtTerminoFidelizacao : null),
|
||||
notification.Tipo))
|
||||
.ToListAsync();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue