Ejemplo n.º 1
0
        public void FinSecado_Event()
        {
            _Auto = EmpleadoSecado.AutoActual;
            //La liberación de una estación de lavado se da recién cuando finaliza el secado
            if (EmpleadoLavado1.AutoActual != null && EmpleadoSecado.AutoActual.NroAuto == EmpleadoLavado1.AutoActual.NroAuto)
            {
                AdministrarEmpleado_FinSecado(EmpleadoLavado1);
            }
            else
            {
                AdministrarEmpleado_FinSecado(EmpleadoLavado2);
            }

            if (ColaSecado.Count > 0)
            {
                EmpleadoSecado.TomarCliente(ColaSecado[0], Reloj);
                ColaSecado.RemoveAt(0);
            }
            else
            {
                EmpleadoSecado.Liberar();
            }

            if (EmpleadoPA.Estado != EstadoArea.Libre)
            {
                ColaPonerAlfombra.Add(_Auto);
            }
            else
            {
                EmpleadoPA.TomarCliente(_Auto, Reloj, this);
            }
        }
Ejemplo n.º 2
0
        public void FinPonerAlfombras_Event()
        {
            _Auto = EmpleadoPA.AutoActual;

            if (ColaPonerAlfombra.Count > 0)
            {
                EmpleadoPA.TomarCliente(ColaPonerAlfombra[0], Reloj, this);
                ColaPonerAlfombra.RemoveAt(0);
            }
            else
            {
                EmpleadoPA.Liberar();
            }
        }
Ejemplo n.º 3
0
        public void FinAspirarAlfombras_Event()
        {
            _Auto = new Auto(Reloj, EventoAnterior.EmpleadoAA.AlfombraActual.nroAuto);
            Alfombra alfombra = EventoAnterior.EmpleadoAA.AlfombraActual;

            if (ColaAspirarAlfombra.Count > 0)
            {
                EmpleadoAA.TomarCliente(ColaAspirarAlfombra[0], Reloj);
                ColaAspirarAlfombra.RemoveAt(0);
            }
            else
            {
                EmpleadoAA.Liberar();
            }

            if (EmpleadoPA.Estado == EstadoArea.EnEspera && EmpleadoPA.AutoActual.NroAuto == alfombra.nroAuto)
            {
                EmpleadoPA.SalirDeEspera(alfombra, Reloj);
            }
            else
            {
                ColaAlfombrasListas.Add(alfombra.nroAuto, alfombra);
            }
        }