Ejemplo n.º 1
0
        private void UpdateWeiche(int Adresse, int Status)
        {
            int index = Weichenliste.FindIndex(x => x.Adresse == Adresse); //Finde Weiche mit dieser Adresse

            if (index != -1)                                               //Weiche gefunden in der Liste
            {
                Weichenliste[index].Schalten(Status);
                UpdateWeicheImGleisplan(Weichenliste[index]);
            }
            else
            {
                index = Signalliste.FindIndex(x => x.Adresse == Adresse);
                if (index != -1)//Signal gefunden in der 1. Adressen
                {
                    if (!Signalliste[index].Letzte_Adresswahl)
                    {
                        Signalliste[index].MaskenSetzen(Status);
                        UpdateSignalImGleisplan(Signalliste[index]);
                    }
                }
                else
                {
                    index = Signalliste.FindIndex(x => x.Adresse2 == Adresse);
                    if (index != -1)//Signal gefunden in der 2. Adressen
                    {
                        if (Signalliste[index].Letzte_Adresswahl)
                        {
                            Signalliste[index].MaskenSetzen(Status + 4);
                            UpdateSignalImGleisplan(Signalliste[index]);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private Weiche GetDWK_2nd(String name)
        {
            int ListID;

            switch (name)
            {
            case "DKW7_1": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "DKW7_2"
                }); break;

            case "DKW7_2": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "DKW7_1"
                }); break;

            case "DKW9_1": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "DKW9_2"
                }); break;

            case "DKW9_2": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "DKW9_1"
                }); break;

            case "KW22_1": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "KW22_2"
                }); break;

            case "KW22_2": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "KW22_1"
                }); break;

            case "DKW24_1": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "DKW24_2"
                }); break;

            case "DKW24_2": ListID = Weichenliste.IndexOf(new Weiche()
                {
                    Name = "DKW24_1"
                }); break;

            default: ListID = -1; break;
            }
            if (ListID == -1)
            {
                Weiche Fehler = new Weiche()
                {
                    Status_Error = true, Name = "Fehler"
                };
                return(Fehler);
            }
            else
            {
                return(Weichenliste[ListID]);
            }
        }