using System.Threading; using System.Threading.Tasks; using AutoBidder.Models; namespace AutoBidder.Services { /// /// Legge la pagina delle ricompense di Bidoo e riscuote ciò che è rimasto da prendere. /// /// È 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. /// public interface IFreeBidsClaimer { /// Guarda cosa c'è da riscuotere, senza riscuotere nulla. Task ScanAsync(CancellationToken cancellationToken = default); /// /// Riscuote tutte le ricompense disponibili. Non solleva per un premio fallito: /// prosegue con gli altri e riporta quanti ne ha presi. /// Task ClaimAllAsync(CancellationToken cancellationToken = default); /// /// Riscuote un codice o un collegamento promozionale indicato dall'utente. /// /// 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. /// Task ClaimPromoAsync(string codeOrLink, CancellationToken cancellationToken = default); } }