Files
Mimante/Mimante/Services/IFreeBidsClaimer.cs
T
Alby96 7ca504a70a Add utility classes for theme management, waiting, watched products, and notifications
- Implement ThemeManager for dynamic light/dark theme switching in the application.
- Create Wait class for cancellable delays without exceptions for smoother user experience.
- Introduce WatchedProductsStore to manage and persist watched products in JSON format.
- Add WindowsNotifier for system notifications to inform users of important events.
- Develop ProductViewModel to encapsulate product data and manage UI interactions effectively.
2026-08-04 21:49:53 +02:00

35 lines
1.5 KiB
C#

using System.Threading;
using System.Threading.Tasks;
using AutoBidder.Models;
namespace AutoBidder.Services
{
/// <summary>
/// Legge la pagina delle ricompense di Bidoo e riscuote ciò che è rimasto da prendere.
///
/// <para>È un'interfaccia perché il riscatto è la sola parte di questa funzionalità che
/// dipende dal formato del sito: potendola sostituire, la logica di temporizzazione e i
/// contatori restano verificabili senza toccare la rete.</para>
/// </summary>
public interface IFreeBidsClaimer
{
/// <summary>Guarda cosa c'è da riscuotere, senza riscuotere nulla.</summary>
Task<FreeBidsPageScan> ScanAsync(CancellationToken cancellationToken = default);
/// <summary>
/// Riscuote tutte le ricompense disponibili. Non solleva per un premio fallito:
/// prosegue con gli altri e riporta quanti ne ha presi.
/// </summary>
Task<FreeBidsClaimResult> ClaimAllAsync(CancellationToken cancellationToken = default);
/// <summary>
/// Riscuote un codice o un collegamento promozionale indicato dall'utente.
///
/// <para>Sta qui e non nel giro automatico perché è l'unica parte che ha bisogno di
/// un dato che l'applicazione non può scoprire da sola: quei premi arrivano per email
/// o per messaggio, e vanno incollati.</para>
/// </summary>
Task<FreeBidsClaimResult> ClaimPromoAsync(string codeOrLink, CancellationToken cancellationToken = default);
}
}