From aca7f4e74a59b2824b7d230bf377e8ec38a0f527 Mon Sep 17 00:00:00 2001 From: Eduardo Lopes <155753879+eduardolopesx03@users.noreply.github.com> Date: Mon, 2 Feb 2026 10:51:03 -0300 Subject: [PATCH] =?UTF-8?q?Corrigir=20dados=20de=20vig=C3=AAncia=20em=20no?= =?UTF-8?q?tifica=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/NotificationsController.cs | 57 +++++++++++++++++++------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/Controllers/NotificationsController.cs b/Controllers/NotificationsController.cs index c211428..17536f0 100644 --- a/Controllers/NotificationsController.cs +++ b/Controllers/NotificationsController.cs @@ -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();