pjava Postado Agosto 24, 2012 Denunciar Share Postado Agosto 24, 2012 Tenho esse programa. Preciso colocar o método execute em uma Thread, task ou Delegate, ou seja, esse método rodará em um serviço e será startado automaticamente em um servidor e terei muitas execuções oncorrentes, logo isso deveria ser feito em um desses caras acima. Abaixo todo meu código até agora.PesquisaAgenda pag = new PesquisaAgenda(); public Form1() { InitializeComponent(); } Lista<Entity.Rotina> listaRotina = new Lista<Entity.Rotina>(); Lista<Entity.Tarefa> listaTarefa = new Lista<Entity.Tarefa>(); Lista<Entity.ExportacaoAgendamento> listaAgendamento = new Lista<Entity.ExportacaoAgendamento>(); Lista<Entity.ExportacaoAgendamento> listaTudo = new Lista<Entity.ExportacaoAgendamento>(); List<Int64> tarefa; Int64 _execTarefa; DateTime _diaHoraExcecucao = DateTime.Now; t.Timer timer = new t.Timer(); private static int CompararTarefas(Entity.Tarefa tarefaDe, Entity.Tarefa tarefaPara) { return tarefaDe.OrdemExecucao.CompareTo(tarefaPara.OrdemExecucao); } private void BuscaTarefa() { if (listaTudo.Count == 0) { listaTudo = Sistema.Infrastructure.Repository.ExportacaoAgendamento.RetornarTodos(); } listaRotina = Sistema.Infrastructure.Repository.Rotina.RetornarTodos(); dgvAgenda.DataSource = listaTudo.ToArray(); dgvRotina.DataSource = listaRotina.ToArray(); foreach (var item in listaRotina) { if (item.DataInicial < DateTime.Now) { listaRotina = Sistema.Infrastructure.Repository.Rotina.RetornarPorFiltro(new Finder.Rotina() { IdRotina = item.IdRotina }); foreach (var item_rotina in listaRotina) { execute(item_rotina.IdRotina); } } } } private void execute(Int64 _rotina) { var lista = Sistema.Infrastructure.Repository.Tarefa.RetornarPorFiltro(new Finder.Tarefa() { IdRotina = _rotina }).ToList(); lista.Sort(CompararTarefas); foreach (var item in lista) { string path = ""; path = item.Descricao; System.Diagnostics.Process.Start(path); } } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { BuscaTarefa(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
pjava
Tenho esse programa. Preciso colocar o método execute em uma Thread, task ou Delegate, ou seja,
esse método rodará em um serviço e será startado automaticamente em um servidor e terei muitas execuções
oncorrentes, logo isso deveria ser feito em um desses caras acima. Abaixo todo meu código até agora.
PesquisaAgenda pag = new PesquisaAgenda();
public Form1()
{
InitializeComponent();
}
Lista<Entity.Rotina> listaRotina = new Lista<Entity.Rotina>();
Lista<Entity.Tarefa> listaTarefa = new Lista<Entity.Tarefa>();
Lista<Entity.ExportacaoAgendamento> listaAgendamento = new Lista<Entity.ExportacaoAgendamento>();
Lista<Entity.ExportacaoAgendamento> listaTudo = new Lista<Entity.ExportacaoAgendamento>();
List<Int64> tarefa;
Int64 _execTarefa;
DateTime _diaHoraExcecucao = DateTime.Now;
t.Timer timer = new t.Timer();
private static int CompararTarefas(Entity.Tarefa tarefaDe, Entity.Tarefa tarefaPara)
{
return tarefaDe.OrdemExecucao.CompareTo(tarefaPara.OrdemExecucao);
}
private void BuscaTarefa()
{
if (listaTudo.Count == 0)
{
listaTudo = Sistema.Infrastructure.Repository.ExportacaoAgendamento.RetornarTodos();
}
listaRotina = Sistema.Infrastructure.Repository.Rotina.RetornarTodos();
dgvAgenda.DataSource = listaTudo.ToArray();
dgvRotina.DataSource = listaRotina.ToArray();
foreach (var item in listaRotina)
{
if (item.DataInicial < DateTime.Now)
{
listaRotina = Sistema.Infrastructure.Repository.Rotina.RetornarPorFiltro(new Finder.Rotina() { IdRotina = item.IdRotina });
foreach (var item_rotina in listaRotina)
{
execute(item_rotina.IdRotina);
}
}
}
}
private void execute(Int64 _rotina)
{
var lista = Sistema.Infrastructure.Repository.Tarefa.RetornarPorFiltro(new Finder.Tarefa() { IdRotina = _rotina }).ToList();
lista.Sort(CompararTarefas);
foreach (var item in lista)
{
string path = "";
path = item.Descricao;
System.Diagnostics.Process.Start(path);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
BuscaTarefa();
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.