All checks were successful
Optimized Build and Deploy / remote-build-and-deploy (push) Successful in 5m17s
31 lines
1.4 KiB
C#
31 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using GestionIntegral.Api.Dtos.Anomalia;
|
|
|
|
namespace GestionIntegral.Api.Services.Anomalia
|
|
{
|
|
public interface IAlertaService
|
|
{
|
|
/// <summary>
|
|
/// Obtiene todas las alertas que no han sido marcadas como leídas.
|
|
/// </summary>
|
|
/// <returns>Una colección de DTOs de alertas genéricas.</returns>
|
|
Task<IEnumerable<AlertaGenericaDto>> ObtenerAlertasNoLeidasAsync();
|
|
|
|
/// <summary>
|
|
/// Marca una alerta específica como leída.
|
|
/// </summary>
|
|
/// <param name="idAlerta">El ID de la alerta a marcar.</param>
|
|
/// <returns>Una tupla indicando si la operación fue exitosa y un mensaje de error si falló.</returns>
|
|
Task<(bool Exito, string? Error)> MarcarComoLeidaAsync(int idAlerta);
|
|
|
|
/// <summary>
|
|
/// Marca como leídas todas las alertas de un mismo tipo y para una misma entidad.
|
|
/// (Ej: todas las alertas de "DevolucionAnomala" para el Canillita ID 45).
|
|
/// </summary>
|
|
/// <param name="tipoAlerta">El tipo de alerta a marcar (ej. "DevolucionAnomala").</param>
|
|
/// <param name="idEntidad">El ID de la entidad afectada (ej. el IdCanilla).</param>
|
|
/// <returns>Una tupla indicando si la operación fue exitosa y un mensaje de error si falló.</returns>
|
|
Task<(bool Exito, string? Error)> MarcarGrupoComoLeidoAsync(string tipoAlerta, int idEntidad);
|
|
}
|
|
} |