Dúvida com lógica e c#
03/09/2012
0
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.
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
Curtir tópico
+ 0
Responder
Posts
04/09/2012
Pjava
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();
}
}
{
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();
}
}
Responder
Clique aqui para fazer login e interagir na Comunidade :)