public void Executar() { Console.WriteLine("Inicio do Processo"); var relogio = new Stopwatch(); relogio.Start(); var service = new AssociatePatientsToTreatmentsService(); var servicoObterTratamentos = new AssociateTreatments(service.Associate); totalDePacientesProcessados = 0; Processar(servicoObterTratamentos); Finalizar(relogio); }
private void Processar(AssociateTreatments servicoObterTratamentos) { totalDePacientesExistentes = patients.Count; while (totalDePacientesProcessados < totalDePacientesExistentes) { SegurarProcessador(); // TODO: ObterPacientes -- Paginando var pacientes = patients.Skip(totalDePacientesProcessados).Take(fatia).ToList(); servicoObterTratamentos.BeginInvoke(pacientes, MetodoQueSeraExecutadoAposOMetodoDoDelegate, servicoObterTratamentos); FatiarPacientes(); } }