Feat: Papelera de Avisos
- Se añade la sección de Papelera de Avisos para los avisos eliminados que serán removidos de los registros a los 60 días del cambio de estado. Es esta sección se permite restaurar un aviso eliminado al estado "Borrador".
This commit is contained in:
@@ -74,8 +74,12 @@ public class ChatController : ControllerBase
|
||||
public async Task<IActionResult> GetInbox(int userId)
|
||||
{
|
||||
// Obtener todas las conversaciones donde el usuario es remitente o destinatario
|
||||
// Pero filtramos los que pertenecen a avisos eliminados (StatusID != 9)
|
||||
var messages = await _context.ChatMessages
|
||||
.Where(m => m.SenderID == userId || m.ReceiverID == userId)
|
||||
.Join(_context.Ads, m => m.AdID, a => a.AdID, (m, a) => new { m, a })
|
||||
.Where(x => x.a.StatusID != (int)AdStatusEnum.Deleted)
|
||||
.Select(x => x.m)
|
||||
.OrderByDescending(m => m.SentAt)
|
||||
.ToListAsync();
|
||||
|
||||
@@ -119,7 +123,8 @@ public class ChatController : ControllerBase
|
||||
}
|
||||
|
||||
var count = await _context.ChatMessages
|
||||
.CountAsync(m => m.ReceiverID == userId && !m.IsRead);
|
||||
.Join(_context.Ads, m => m.AdID, a => a.AdID, (m, a) => new { m, a })
|
||||
.CountAsync(x => x.m.ReceiverID == userId && !x.m.IsRead && x.a.StatusID != (int)AdStatusEnum.Deleted);
|
||||
|
||||
return Ok(new { count });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user