public bool MoverAscensorAbajo(Pisos piso)
        {
            PictureBox PisoParada = NivelEdificio(piso);

            if (AscensorPictureBox.Location.Y >= PisoParada.Location.Y)
            {
                ImagenPersona ImagenInterna = Lista.Find(x => x.PisoDireccion == piso) ?? new ImagenPersona();
                PointAscensor.Y             = PisoParada.Location.Y;
                AscensorPictureBox.Location = PointAscensor;
                MoverAscensor = false;

                if (ImagenInterna.Id > 0)
                {
                    StateTextBox.AppendText($"Salieron {ListaSalida.Where(x => x.PisoDireccion == piso).ToList().Count() } personas del elevador{Environment.NewLine}");
                    EliminarControles(ListaSalida.Where(x => x.PisoDireccion == piso).ToList());
                }

                Lista.Remove(Lista.Find(x => x.PisoDireccion == piso));
                PisoActual = piso;
                ListaSalida.RemoveAll(x => x.PisoDireccion == piso);
                ListaSalida.RemoveAll(x => x.PisoDireccion == Pisos.SinPiso);
                CambiarLabel("Esperando que seleccione un piso", Color.White, Color.Green);

                CantidadPersonasLabel.Text = ListaSalida.Count(x => x.Peso > 0).ToString();
                PesoElevadorLabel.Text     = ListaSalida.Sum(x => x.Peso).ToString();
                return(true);
            }
            return(false);
        }
        void CapturarPiso(object sender, EventArgs e)
        {
            Button button = (Button)sender;
            string Piso   = button.Name;

            ListaBotones.ForEach(x => x.Enabled = (x != button));

            switch (Piso)
            {
            case "PrimerPisoButton":
                AquePiso = Pisos.PrimerPiso;
                break;

            case "SegundoPisoButton":
                AquePiso = Pisos.SegundoPiso;
                break;

            case "TercerPisoButton":
                AquePiso = Pisos.TercerPiso;
                break;

            case "CuartoPisoButton":
                AquePiso = Pisos.CuartoPiso;
                break;
            }
            if ((int)PisoActual > (int)AquePiso)
            {
                DecrementoEnY = 10;
            }
            else
            {
                DecrementoEnY = -10;
            }
            CapturarGente = true;
        }
Example #3
0
 public ImagenPersona(int id, decimal peso, Pisos pisoOrigen, Pisos pisoDireccion, PictureBox pictureBox)
 {
     Id            = id;
     Peso          = peso;
     PisoOrigen    = pisoOrigen;
     PisoDireccion = pisoDireccion;
     PictureBox    = pictureBox ?? throw new ArgumentNullException(nameof(pictureBox));
 }
 private void IniciarButton_Click(object sender, EventArgs e)
 {
     if (PesoTotalTextBox.Text.ToDecimal() <= 0)
     {
         MessageBox.Show("Ingrese un peso superior a 0", "AnWil Elevadores", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     IniciarButton.Enabled = false;
     MoverPersonas         = false;
     Lista = Lista.OrderBy(x => x.PisoOrigen).ToList();
     PrimerPisoButton.Enabled = false;
     PisoActual = Pisos.PrimerPiso;
     PesoTotal  = PesoTotalTextBox.Text.ToDecimal();
     PesoTotalTextBox.Enabled = false;
     OnTimer.Start();
     CambiarLabel("Esperando que seleccione un piso", Color.White, Color.Green);
 }
        public Button ObtenerButton(Pisos pisos)
        {
            Button button = new Button();

            switch (pisos)
            {
            case Pisos.PrimerPiso:
                button = PrimerPisoButton;
                break;

            case Pisos.SegundoPiso:
                button = SegundoPisoButton;
                break;

            case Pisos.TercerPiso:
                button = TercerPisoButton;
                break;

            case Pisos.CuartoPiso:
                button = CuartoPisoButton;
                break;
            }
            return(button);
        }
        public Pisos ObtenerPiso(int Piso)
        {
            Pisos ValorRetornar = Pisos.PrimerPiso;

            switch (Piso)
            {
            case 1:
                ValorRetornar = Pisos.PrimerPiso;
                break;

            case 2:
                ValorRetornar = Pisos.SegundoPiso;
                break;

            case 3:
                ValorRetornar = Pisos.TercerPiso;
                break;

            case 4:
                ValorRetornar = Pisos.CuartoPiso;
                break;
            }
            return(ValorRetornar);
        }
        public PictureBox NivelEdificio(Pisos Piso)
        {
            PictureBox RetornoPicture = new PictureBox();

            switch (Piso)
            {
            case Pisos.PrimerPiso:
                RetornoPicture = PrimerPisoPictureBox;
                break;

            case Pisos.SegundoPiso:
                RetornoPicture = SegundoPisoPictureBox;
                break;

            case Pisos.TercerPiso:
                RetornoPicture = TercerPisoPictureBox;
                break;

            case Pisos.CuartoPiso:
                RetornoPicture = CuartorPisoPictureBox;
                break;
            }
            return(RetornoPicture);
        }
        public Point ObtenerPointPiso(Pisos Piso)
        {
            Point Point = new Point();

            switch (Piso)
            {
            case Pisos.PrimerPiso:
                Point = PrimerPisoPictureBox.Location;
                break;

            case Pisos.SegundoPiso:
                Point = SegundoPisoPictureBox.Location;
                break;

            case Pisos.TercerPiso:
                Point = TercerPisoPictureBox.Location;
                break;

            case Pisos.CuartoPiso:
                Point = CuartorPisoPictureBox.Location;
                break;
            }
            return(Point);
        }
 public void CapturarPersona(Pisos piso)
 {
     PersonaGlobal = ObtenerImagenPorPisoControles(piso);
 }
 public ImagenPersona ObtenerImagenPorPisoControles(Pisos Piso)
 {
     return(Lista.Find(x => x.PisoOrigen == Piso && x.PisoDireccion == Pisos.SinPiso));
 }