Array
(
)

Dúvida com lógica e c#

Pjava
   - 03 set 2012

Tenho uma classe de agendamento. Esses são agendamentos de Rotinas e Tarefas. Preciso de uma idéia da seguinte forma. Cada rotina agendada, será executada em uma determinada data, obedecendo a seguinte regra.
Se ela vai ser executada uma única vez.
Se ela vai ser executada diariamente.
Se será semanalmente ou mensal.
Logo preciso criar uma clase para validar isso e tendo validado, chamar o método que irá executar a tarefa dentro dessa regra. Tudo isso será executado dentro de um serviço, que só vai para se o Servidor for reiniciado por alguma falha, manutenção ou coisas similares. A minha dúvida é como criar validar isso na classe e exportar as validações feitas, para que o método de executar(sem argumentos) possa executar a rotina dentro da regra. Não sei se fui claro. Obrigado.

Pjava
   - 04 set 2012

private void Exec()
{
var rotinas = Repository.Rotina.RetornarTodos();

List<Domain.Entity.AgendamentoRotina> agendamentos = new List<Entity.AgendamentoRotina>();

foreach (var rotina in rotinas)
{
agendamentos.AddRange(rotina.Agendamentos.FindAll(c => c.DataExecucaoInicial >= DateTime.Now.AddDays(-1) && c.DataExecucaoInicial <= DateTime.Now.AddDays(1)));
}

foreach (var agendamento in agendamentos)
{
agendamento.Rotina.Executar();
}
}