private void RetornaTesteParaDiagnostico(List <Tecnico> Funcionarios, List <ProcederDiagnostico> ListaEspera, ContadorEstatistico Contador, List <IEvento> ListaEventos) { if (Funcionarios.Where(x => x.Ocupado == false).Count() > 0) { var evento = new ProcederDiagnostico() { Equipamento = this.Equipamento, Funcionario = Funcionarios.Where(x => x.Ocupado == false).FirstOrDefault(), TempoEntradaEmFilaEspera = Contador.TempoAtual, TempoEntrada = Contador.TempoAtual }; evento.AtualizarEstadoFuncionario(Funcionarios.ToList(), true); ListaEventos.Add(evento); } else { var evento = new ProcederDiagnostico() { Equipamento = Equipamento, TempoEntradaEmFilaEspera = Contador.TempoAtual }; ListaEspera.Add(evento); } }
private void AvancarProximoEvento(Simulador Sim) { Equipamento eq = GerarEquipamento(Sim); Sim.Equipamentos.Add(eq); if (Sim.Tecnicos.Where(x => x.Ocupado == false).Count() > 0) { var evento = new ProcederDiagnostico() { Equipamento = eq, Funcionario = Sim.Tecnicos.Where(x => x.Ocupado == false).FirstOrDefault(), TempoEntradaEmFilaEspera = Sim.Contador.TempoAtual, TempoEntrada = Sim.Contador.TempoAtual }; evento.AtualizarEstadoFuncionario(Sim.Tecnicos.ToList(), true); Sim.ListaEventos.Add(evento); } else { var evento = new ProcederDiagnostico() { Equipamento = eq, TempoEntradaEmFilaEspera = Sim.Contador.TempoAtual }; Sim.ListaEsperaProcederDiagnostico.Add(evento); } }