public static string Executar(Expression <Action> metodo, TipoProcessamento tipoProcessamento = TipoProcessamento.ExecucaoImediata) { GravarLog($"Novo processamento background solicitado {metodo.Body.ToString()}"); return(Orquestrador .ObterProcessador(tipoProcessamento) .Executar(metodo)); }
public static void Registrar <T>(T processador, TipoProcessamento tipoProcessamento) where T : IProcessor { if (processadores.TryAdd(tipoProcessamento, processador) && !processador.Registrado) { processador.Registrar(); Console.WriteLine($"O processador {processador.GetType().Name} foi registrado para o tipo de processamento {tipoProcessamento.ToString()}"); } }
public static IProcessor ObterProcessador(TipoProcessamento tipoProcessamento) { IProcessor processador = null; if (processadores.TryGetValue(tipoProcessamento, out processador)) { return(processador); } else { throw new Exception($"Não foi possível obter um processador do tipo {tipoProcessamento.ToString()} pois não foi registrado"); } }
public static string Executar <T>(Expression <Action <T> > metodo, TipoProcessamento tipoProcessamento = TipoProcessamento.ExecucaoLonga) { GravarLog($"Novo processamento background solicitado {metodo.Body}"); return(Orquestrador.ObterProcessador(tipoProcessamento).Executar <T>(metodo)); }