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);
 | |
|     }
 | |
| } |