0
respostas

Faça como eu fiz: execução de tarefas agendadas

Program.cs

using Task.Modelos;

List<TarefaAgendada> tarefas = new List<TarefaAgendada> {
    new BackupTarefa(),
    new RelatorioTarefa(),
    new LimpezaTarefa()
};

Console.Clear();
tarefas.ForEach(t => t.Executar());

TarefaAgendada.cs

namespace Task.Modelos;
abstract class TarefaAgendada {
    public abstract void Executar();
}

BackupTarefa.cs

namespace Task.Modelos;
class BackupTarefa : TarefaAgendada {
    public override void Executar() {

        Console.WriteLine("Executando backup do sistema...");
        Thread.Sleep(1400);
        Console.WriteLine("Backup finalizado!");
    }
}

RelatorioTarefa.cs

namespace Task.Modelos;
class RelatorioTarefa : TarefaAgendada {
    public override void Executar() {
        
        Console.WriteLine("Gerando e enviando relatórios...");
        Thread.Sleep(2350);
        Console.WriteLine("Os relatórios foram enviados com sucesso!");
    }
}

LimpezaTarefa.cs

namespace Task.Modelos;
class LimpezaTarefa : TarefaAgendada {
    public override void Executar() {
        
        Console.WriteLine("Limpando arquivos temporários...");
        Thread.Sleep(1250);
        Console.WriteLine("Arquivos limpos com sucesso!");
    }
}