/// <summary> /// Captura os dados de um processo /// </summary> /// <param name="Id">Identificador do processo.</param> /// <returns></returns> public static AgendadorTarefasModel Get(string Id) { List<AgendadorTarefasModel> listaAgendadorTarefas = null; AgendadorTarefasModel item = new AgendadorTarefasModel(); if (_context.Application["AGENDADOR_TAREFAS_LISTA"] != null) { listaAgendadorTarefas = _context.Application["AGENDADOR_TAREFAS_LISTA"] as List<AgendadorTarefasModel>; item = listaAgendadorTarefas.Where(w => w.ID == Id).FirstOrDefault(); } return item; }
/// <summary> /// Atualiza o status do processo. /// </summary> /// <param name="Id"></param> /// <param name="situacao"></param> public static void UpdateStatus(string Id, SituacaoProcesso situacao) { List<AgendadorTarefasModel> listaAgendadorTarefas = null; AgendadorTarefasModel item = new AgendadorTarefasModel(); if (_context.Application["AGENDADOR_TAREFAS_LISTA"] != null) { listaAgendadorTarefas = _context.Application["AGENDADOR_TAREFAS_LISTA"] as List<AgendadorTarefasModel>; item = listaAgendadorTarefas.Where(w => w.ID == Id).FirstOrDefault(); if (item != null) { item.Situacao = situacao; } } }
/// <summary> /// Apaga um processo da fila. /// </summary> /// <param name="Id"></param> public static void Delete(string Id) { List<AgendadorTarefasModel> listaAgendadorTarefas = null; AgendadorTarefasModel item = new AgendadorTarefasModel(); if (_context.Application["AGENDADOR_TAREFAS_LISTA"] != null) { listaAgendadorTarefas = _context.Application["AGENDADOR_TAREFAS_LISTA"] as List<AgendadorTarefasModel>; item = listaAgendadorTarefas.Where(w => w.ID == Id).FirstOrDefault(); if (item != null) { listaAgendadorTarefas.Remove(item); _context.Application["AGENDADOR_TAREFAS_LISTA"] = listaAgendadorTarefas; } } }
/// <summary> /// Adiciona um novo processo à fila de execução. /// </summary> /// <param name="tipo">Tipo do processo</param> /// <param name="o">Objeto a ser processado</param> /// <returns></returns> public static string Add(TipoProcesso tipo, Object o) { AgendadorTarefasModel item = new AgendadorTarefasModel(); if (_context.Application["AGENDADOR_TAREFAS_LISTA"] == null) { _context.Application["AGENDADOR_TAREFAS_LISTA"] = new List<AgendadorTarefasModel>(); } List<AgendadorTarefasModel> listaAgendadorTarefas = _context.Application["AGENDADOR_TAREFAS_LISTA"] as List<AgendadorTarefasModel>; item.ID = Guid.NewGuid().ToString("n"); item.Situacao = SituacaoProcesso.AguardandoExecucao; item.Tipo = tipo; item.Objeto = o; listaAgendadorTarefas.Add(item); _context.Application["AGENDADOR_TAREFAS_LISTA"] = listaAgendadorTarefas; return item.ID; }
private string ProcessarBegin(AgendadorTarefasModel item) { AgendadorTarefasThread.UpdateStatus(item.ID, SituacaoProcesso.EmExecucao); // Realizar o processo de compactação da pasta // // // // // // // Random objRandom = new Random(); System.Threading.Thread.Sleep(objRandom.Next(1, 5) * 3000); AgendadorTarefasThread.UpdateStatus(item.ID, SituacaoProcesso.ExecucaoConcluida); return(item.ID); }
private static void oCompactacaoPasta_OnProcessEnd(AgendadorTarefasModel sender) { // Ações customizadas referentes ao Processo de Compactação de Pastas. }
public void Processar(AgendadorTarefasModel o) { Func <AgendadorTarefasModel, string> function = new Func <AgendadorTarefasModel, string>(ProcessarBegin); IAsyncResult result = function.BeginInvoke(o, ProcessarEnd, function); }