Beispiel #1
0
        public void ParamsCanBeModifiedAsNeeded()
        {
            // Arrange
            train F_train = new train("F Train");
            train N_train = new train("N Train");
            train R_train = new train("R Train");
            train V_train = new train("V Train");

            List <train> KingsHighwayTrains = new List <train> {
                F_train
            };
            List <train> ThirtyFourthStreetTrains = new List <train> {
                F_train, N_train, R_train
            };

            station KingsHighway       = new station("Kings Highway", KingsHighwayTrains);
            station ThirtyFourthStreet = new station("34th Street", ThirtyFourthStreetTrains);

            //Act
            ThirtyFourthStreet.SetName("ThirtyFourth Street");
            List <train> KingsHighwayTrainsAdapted = new List <train> {
                F_train, V_train
            };

            KingsHighway.SetAssociatedTrains(KingsHighwayTrainsAdapted);

            // Assert
            Assert.NotEqual(ThirtyFourthStreet.GetName(), "34th Street");
            Assert.Equal(ThirtyFourthStreet.GetName(), "ThirtyFourth Street");
            Assert.NotEqual(KingsHighway.GetAssociatedTrains().Count, 1);
            Assert.Equal(KingsHighway.GetAssociatedTrains().Count, 2);
            Assert.Equal(KingsHighway.GetAssociatedTrains()[0], F_train);
            Assert.Equal(KingsHighway.GetAssociatedTrains()[1], V_train);
        }
Beispiel #2
0
 private void deleteTrainByShooting(train trainToRm)
 {
     this.destroyedTrains += 1;
     this.money           += 2;
     this.updateLabels();
     if (this.destroyedTrains % 10 == 0)
     {
         foreach (Path2D path in paths)
         {
             path.decreaseTimeToNextSpawn(0.2f);
         }
     }
     if (this.destroyedTrains % 15 == 0)
     {
         foreach (Path2D path in paths)
         {
             path.increaseTrainHp(10);
         }
     }
     if (this.destroyedTrains % 20 == 0)
     {
         foreach (Path2D path in paths)
         {
             path.increaseTrainSpeed(20.0f);
         }
     }
     unregisterTrain(trainToRm);
 }
Beispiel #3
0
        public void IsDefinedProperly()
        {
            // Arrange
            train F_train = new train("F Train");
            train N_train = new train("N Train");
            train R_train = new train("R Train");

            List <train> KingsHighwayTrains = new List <train> {
                F_train
            };
            List <train> ThirtyFourthStreetTrains = new List <train> {
                F_train, N_train, R_train
            };

            station KingsHighway       = new station("Kings Highway", KingsHighwayTrains);
            station ThirtyFourthStreet = new station("34th Street", ThirtyFourthStreetTrains);

            // Assert
            Assert.Equal(KingsHighway.GetName(), "Kings Highway");
            Assert.Equal(ThirtyFourthStreet.GetName(), "34th Street");
            Assert.Equal(KingsHighway.GetAssociatedTrains()[0], F_train);
            Assert.Equal(KingsHighway.GetAssociatedTrains().Count, 1);
            Assert.Equal(ThirtyFourthStreet.GetAssociatedTrains()[0], F_train);
            Assert.Equal(ThirtyFourthStreet.GetAssociatedTrains()[1], N_train);
            Assert.Equal(ThirtyFourthStreet.GetAssociatedTrains()[2], R_train);
            Assert.Equal(ThirtyFourthStreet.GetAssociatedTrains().Count, 3);
        }
Beispiel #4
0
        static train[] FillTrainsArr(train[] trains)
        {
            string destination;
            int    trainNum;

            for (int i = 0; i < trains.Length; i++)
            {
                Console.WriteLine($"Train #{i + 1}:");
                Console.Write("Enter destination:");
                destination = Console.ReadLine();
                Console.Write("Enter train number:");
                trainNum = Convert.ToInt32(Console.ReadLine());
                try
                {
                    DateTime departureTime = EnterDateTime();

                    trains[i] = new train(destination, trainNum, departureTime);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    DateTime departureTime = EnterDateTime();
                    trains[i] = new train(destination, trainNum, departureTime);
                }
            }
            return(trains);
        }
Beispiel #5
0
 public train DeserializeWithDataContract()
 {
     train _train = new train();
     var ds = new DataContractSerializer(typeof(train));
     using(Stream s = File.OpenRead("D:\\serialize.xml"))
         _train=(train)ds.ReadObject(s);
     return _train;
 }
Beispiel #6
0
 /// <summary>
 /// 查询列车
 /// </summary>
 /// <param name="dt"></param>
 /// <param name="LineID"></param>
 /// <returns></returns>
 public train GetTrain(DateTime dt, int LineID)
 {
     using (sartas3 db = new sartas3())
     {
         train old = db.train.FirstOrDefault(n => n.Train_ComeDate == dt && n.Line_ID == LineID);
         return(old);
     }
 }
Beispiel #7
0
        static void Main(string[] args)
        {
            train[] trains = new train[3];

            FillTrainsArr(trains);
            ShowArrTrains(trains);
            ShowArrTrains(SortByTrainNum(trains));
        }
Beispiel #8
0
 /// <summary>
 /// 根据顺位号查询某一节车厢[上一节,下一节]
 /// </summary>
 /// <param name="TrainID"></param>
 /// <param name="TrainComeDate"></param>
 /// <param name="OrderNum"></param>
 /// <returns></returns>
 public View_TrainDetail GetCar(string TrainID, DateTime TrainComeDate, int OrderNum)
 {
     try
     {
         using (sartas3 db = new sartas3())
         {
             //首先根据时间找到指定的分表
             string TableName = "traindetail";
             if (TrainComeDate < DateTime.Now)
             {
                 for (DateTime i = TrainComeDate; i < DateTime.Now; i = i.AddMonths(1))
                 {
                     TableName = "traindetail_" + i.ToString("yyyyMM");
                     string SQL_BeSureTableExist = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='" + Config.DB_SCHEMA + "'  AND TABLE_NAME = '" + TableName + "'";
                     string resName = db.Database.SqlQuery <string>(SQL_BeSureTableExist).FirstOrDefault();
                     if (!string.IsNullOrWhiteSpace(resName))
                     {
                         break;
                     }
                     else
                     {
                         TableName = "traindetail";
                     }
                 }
             }
             //根据分表名称进行查询
             string      SQL_Query = @"SELECT * FROM " + Config.DB_SCHEMA + "." + TableName + @" td WHERE td.Train_ID = '" + TrainID + "' AND td.TrainDetail_OrderNo='" + OrderNum + "'";
             traindetail td        = db.Database.SqlQuery <traindetail>(SQL_Query).SingleOrDefault();
             if (td != null)
             {
                 View_TrainDetail dtd = new View_TrainDetail();
                 dtd.Train_ID            = td.Train_ID;
                 dtd.TrainDetail_ID      = td.TrainDetail_ID;
                 dtd.TrainDetail_No      = td.TrainDetail_No;
                 dtd.TrainDetail_OrderNo = td.TrainDetail_OrderNo;
                 dtd.vehicletype         = td.vehicletype;
                 dtd.AlarmLevel          = td.AlarmLevel;
                 string SQL_QueryTrain = @"SELECT * FROM " + Config.DB_SCHEMA + ".train t WHERE t.Train_ID = '" + TrainID + "';";
                 train  t = db.Database.SqlQuery <train>(SQL_QueryTrain).SingleOrDefault();
                 if (t != null)
                 {
                     dtd.TrainComeDate = Convert.ToDateTime(t.Train_ComeDate);
                     dtd.TrainNo       = t.Train_No;
                     dtd.LineID        = Convert.ToInt16(t.Line_ID);
                 }
                 return(dtd);
             }
             else
             {
                 return(null);
             }
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Beispiel #9
0
 public train DeserialezeObject()
 {
     train _train=new train();
     var formatter = new BinaryFormatter();
     using(Stream s = File.OpenRead("train.dat"))
     {
          _train= (train)formatter.Deserialize(s);
     }
     return _train;            
 }
Beispiel #10
0
 /// <summary>
 /// 查询最新列车信息
 /// </summary>
 /// <param name="LineID">线路ID</param>
 /// <param name="TrainComeDate"></param>
 /// <returns></returns>
 public train Get_LatestTrain_ByLineID(int LineID, DateTime TrainComeDate)
 {
     try
     {
         using (sartas3 db = new sartas3())
         {
             train t = db.train.Where(n => n.Line_ID == LineID && n.Train_ComeDate >= TrainComeDate).OrderByDescending(n => n.Train_ComeDate).FirstOrDefault();
             return(t);
         }
     }
     catch (Exception ex) { throw ex; }
 }
Beispiel #11
0
 public void writetofile(train stream)
 {
     using (Stream str = File.Create("myfile.bin"))
     {
         using (var ds = new DeflateStream(str, CompressionMode.Compress))
         {
             using (var crypto = new CryptoStream())
                 var bw = new BinaryWriter(stream);
         }
         var fs = new FileStream("test.dat", FileMode.OpenOrCreate);
     }
 }
Beispiel #12
0
 public void writetofile(train stream)
 {
     using(Stream str=File.Create("myfile.bin"))
     {
         using(var ds = new DeflateStream(str, CompressionMode.Compress))
         {
             using(var crypto=new CryptoStream())
             var bw = new BinaryWriter(stream);
         }
         var fs = new FileStream("test.dat", FileMode.OpenOrCreate);
     }
 }
Beispiel #13
0
 public void unregisterTrain(train train)
 {
     train.QueueFree();
     trains.Remove(train);
     foreach (var tuple in bullets)
     {
         if (tuple.Item2 == train)
         {
             tuple.Item1.QueueFree();
         }
     }
     bullets.RemoveAll(tuple => tuple.Item2 == train);
 }
Beispiel #14
0
 /// <summary>
 /// 更新列车报警等级
 /// </summary>
 /// <param name="TrainID"></param>
 public void Update_TrainAlarmLevel(string TrainID)
 {
     try
     {
         using (sartas3 db = new sartas3())
         {
             Guid  tmp  = new Guid(TrainID);
             var   q    = db.traindetail.Where(n => n.Train_ID == tmp && n.AlarmLevel != "0" && n.AlarmLevel != "" && n.AlarmLevel != null).Min(n => n.AlarmLevel);
             train oldt = db.train.Where(n => n.Train_ID == tmp).FirstOrDefault();
             if (oldt != null)
             {
                 oldt.AlarmLevel = q;
             }
             db.SaveChanges();
         }
     }
     catch (Exception ex) { throw ex; }
 }
Beispiel #15
0
    // Called every frame. 'delta' is the elapsed time since the previous frame.
    public override void _Process(float delta)
    {
//	AddChild(node.instance());
//	timeElapsed += delta;
        timeToNextSpawn -= delta;
        if (timeToNextSpawn <= 0.0f)
        {
            train train = (ResourceLoader.Load("train.tscn") as PackedScene).Instance() as train;
            train.setSpeed(this.trainSpeed);
            train.setHp(this.trainHp);
            AddChild(train);

            main main = GetParent() as main;
            main.registerTrain(train);

            timeToNextSpawn += timeToNextSpawnValue;
        }
    }
Beispiel #16
0
        static void Main(string[] args)
        {
            coupe coupe1 = new coupe(1,4);
            coupe coupe2 = new coupe(2,3);
            coupe coupe3 = new coupe(3, 3);
            coupe coupe4 = new coupe(4,4);
            coupe coupe5 = new coupe(5,2);

            carriage carriage = new carriage(1,5);
            carriage.add(coupe1);
            carriage.add(coupe2);
            carriage.add(coupe3);
            carriage.add(coupe4);
            carriage.add(coupe5);

            carriage carriage1 = new carriage(1, 1);
            carriage1.add(coupe1);

            carriage carriage2 = new carriage(2, 2);
            carriage2.add(coupe1);
            carriage2.add(coupe5);

            carriage carriage3 = new carriage(3, 3);
            carriage3.add(coupe1);
            carriage3.add(coupe3);
            carriage3.add(coupe4);

            train train = new train(1,4);
            train.add(carriage);
            train.add(carriage1);
            train.add(carriage2);
            train.add(carriage3);

            Workwithfiles f = new Workwithfiles();
            train b= f.readfrombinaryfile(train);

            foreach(coupe c in carriage)
            {
                Console.WriteLine(c.Number.ToString()+"вагон, кол. пассажиров="+c.Number_passenger.ToString());
            }
            Console.ReadLine();     
        
        }
Beispiel #17
0
    // Called every frame. 'delta' is the elapsed time since the previous frame.
    public override void _Process(float delta)
    {
        if (main == null)
        {
            return;
        }

        foreach (instrybutor i in instrybutors)
        {
            if (OverlapsArea(i))
            {
                i.doDamage(1);

                train train = GetParent() as train;

                main.unregisterTrain(train);

                return;
            }
        }



        foreach (plant plant1 in main.getPlants())
        {
            var plantArea = plant1.GetNode <Godot.Area2D>("Area2D");
            if (OverlapsArea(plantArea))
            {
                bool plantDead = plant1.doDamage(10);

                train train = GetParent() as train;

                if (plantDead)
                {
                    plant1.setToDelete();
                }

                main.unregisterTrain(train);
            }
        }

        main.getPlants().RemoveAll(pl => pl.getToDelete());
    }
Beispiel #18
0
        public void ParamsCanBeModifiedAsNeeded()
        {
            // Arrange
            Dictionary <string, Dictionary <string, string> > terminiMasterList = new Dictionary <string, Dictionary <string, string> >();
            Dictionary <string, string> F_train_termini = new Dictionary <string, string>()
            {
                { "North", "The Bronx" },
                { "South", "Coney Island" }
            };
            List <string> F_train_stations = new List <string>()
            {
                "Coney Island", "Kings Highway", "Avenue P"
            };
            train testTrain1 = new train("N_train");
            train testTrain2 = new train("F_train", F_train_termini);
            train testTrain3 = new train("F_train", F_train_termini, F_train_stations);

            //Act
            testTrain1.SetName("N_train_adapted");
            Dictionary <string, string> F_train_termini_adapted = new Dictionary <string, string>()
            {
                { "North", "Flushing Meadows" },
                { "South", "Coney Island" }
            };

            testTrain2.SetTermini(F_train_termini_adapted);
            List <string> F_train_stations_adapted = new List <string>()
            {
                "Coney Island", "Avenue U", "Kings Highway", "Avenue P"
            };

            testTrain3.SetStationList(F_train_stations_adapted);

            // Assert
            Assert.NotEqual(testTrain1.GetName(), "N_train");
            Assert.Equal(testTrain1.GetName(), "N_train_adapted");
            Assert.NotEqual(testTrain2.GetTermini()["North"], "The Bronx");
            Assert.Equal(testTrain2.GetTermini()["North"], "Flushing Meadows");
            Assert.Equal(testTrain3.GetStationList()[2], "Kings Highway");
            Assert.Equal(testTrain3.GetStationList().Count, 4);
        }
Beispiel #19
0
            public train readfromfile(train stream)
            {
                RijndaelManaged rijmanaged = new RijndaelManaged();
                byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
                byte[] iv = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };


                using(Stream f = File.OpenRead("D:\\file.txt"))
                {
                    using(var ds = new DeflateStream(f, CompressionMode.Decompress))
                    {
                        using(var crypto = new CryptoStream(ds, rijmanaged.CreateDecryptor(key, iv),
                            CryptoStreamMode.Read))
                        {
                            using(TextReader bw = new StreamReader(crypto))
                            {
                                stream.number = int.Parse(bw.ReadLine());
                                stream.number_carriages = int.Parse(bw.ReadLine());
                                for(int i = 0;i < stream.number_carriages;i++)
                                {
                                    int number, number_coupes;
                                    number = int.Parse(bw.ReadLine());
                                    number_coupes = int.Parse(bw.ReadLine());
                                    carriage newcar = new carriage(number, number_coupes);
                                    for(int j = 0;j < newcar.number_coupes;j++)
                                    {
                                        int numberof, number_passenger;
                                        numberof = int.Parse(bw.ReadLine());
                                        number_passenger = int.Parse(bw.ReadLine());
                                        coupe newcoupe = new coupe(numberof, number_passenger);
                                        newcar.add(newcoupe);
                                    }
                                    stream.add(newcar);
                                }
                            }
                        }
                    }
                }
                return stream;
            }
Beispiel #20
0
        static void Main(string[] args)
        {
            coupe coupe1 = new coupe(1,4);
            coupe coupe2 = new coupe(2,3);
            coupe coupe3 = new coupe(3, 3);
            coupe coupe4 = new coupe(4,4);
            coupe coupe5 = new coupe(5,2);

            carriage carriage = new carriage(1,5);
            carriage.add(coupe1);
            carriage.add(coupe2);
            carriage.add(coupe3);
            carriage.add(coupe4);
            carriage.add(coupe5);

            carriage carriage1 = new carriage(1, 1);
            carriage1.add(coupe1);

            carriage carriage2 = new carriage(2, 2);
            carriage2.add(coupe1);
            carriage2.add(coupe5);

            carriage carriage3 = new carriage(3, 3);
            carriage3.add(coupe1);
            carriage3.add(coupe3);
            carriage3.add(coupe4);

            train train = new train();
            train.add(carriage);
            train.add(carriage1);
            train.add(carriage2);
            train.add(carriage3);

            Serialize s = new Serialize();
            s.SerializeWithDataContract(train);

            train _train = new train();
            _train = s.DeserializeWithDataContract();
        }
Beispiel #21
0
            public void writetofile(train stream)
            {
                RijndaelManaged rijmanaged = new RijndaelManaged();
                byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
                byte[] iv = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };

                FileInfo file = new FileInfo("D:\\file.txt");
                if(file.Exists == false)
                {
                    file.Create();
                }
                using(Stream f = file.Create())
                {
                    using(var ds = new DeflateStream(f, CompressionMode.Compress))
                    {
                        using(var crypto = new CryptoStream(ds, rijmanaged.CreateEncryptor(key, iv),
                            CryptoStreamMode.Write))
                        {
                            using(TextWriter bw = new StreamWriter(crypto))
                            {
                                bw.WriteLine(stream.number);
                                bw.WriteLine(stream.number_carriages);
                                foreach(var c in stream)
                                {
                                    bw.WriteLine(c.number);
                                    bw.WriteLine(c.number_coupes);
                                    foreach(var s in c)
                                    {
                                        bw.WriteLine(s.number);
                                        bw.WriteLine(s.number_passenger);
                                    }
                                }
                            }
                            crypto.Close();
                        }
                    }
                }
            }
Beispiel #22
0
        static void Main(string[] args)
        {
            car lamborghini = new car();

            lamborghini.color         = "red";
            lamborghini.enginetype    = "petrol 6 litres";
            lamborghini.seatsquantity = 2;

            bike BMW = new bike();

            BMW.color         = "white";
            BMW.enginetype    = "petrol 3 litres biturbo ";
            BMW.seatsquantity = 1;
            BMW.wheelquantity = 2;

            train train = new train();

            train.color         = "black";
            train.color         = "diesel 8 litres";
            train.seatsquantity = 300;
            train.wheelquantity = 20;

            airplane boing = new airplane();

            boing.color         = "white";
            boing.enginetype    = "10 litres diesel";
            boing.seatsquantity = 100;
            boing.wheelquantity = 3;

            Ship Titanic = new Ship();

            Titanic.color         = "white";
            Titanic.enginetype    = "turbo diesel 6 litres";
            Titanic.seatsquantity = 100;
            Titanic.wheelquantity = 0;
        }
Beispiel #23
0
        public void IsDefinedProperly()
        {
            // Arrange
            Dictionary <string, Dictionary <string, string> > terminiMasterList = new Dictionary <string, Dictionary <string, string> >();
            Dictionary <string, string> F_train_termini = new Dictionary <string, string>()
            {
                { "North", "The Bronx" },
                { "South", "Coney Island" }
            };
            List <string> F_train_stations = new List <string>()
            {
                "Coney Island", "Kings Highway", "Avenue P"
            };
            train testTrain1 = new train("N_train");
            train testTrain2 = new train("F_train", F_train_termini);
            train testTrain3 = new train("F_train", F_train_termini, F_train_stations);

            // Assert
            Assert.Equal(testTrain1.GetName(), "N_train");
            Assert.Equal(testTrain2.GetName(), "F_train");
            Assert.Equal(testTrain2.GetTermini()["North"], "The Bronx");
            Assert.Equal(testTrain3.GetStationList()[2], "Avenue P");
            Assert.Equal(testTrain3.GetStationList().Count, 3);
        }
Beispiel #24
0
 public void registerTrain(train train)
 {
     trains.Add(train);
 }
Beispiel #25
0
        static void Main(string[] args)
        {
            Dictionary <string, Dictionary <string, string> > terminiMasterList = new Dictionary <string, Dictionary <string, string> >();
            Dictionary <string, string> BlueLine_termini = new Dictionary <string, string>()
            {
                { "North", "Bowdoin" },
                { "South", "Wonderland" }
            };
            Dictionary <string, string> GreenLineB_termini = new Dictionary <string, string>()
            {
                { "West", "Boston College" },
                { "East", "Park Street" }
            };
            Dictionary <string, string> GreenLineC_termini = new Dictionary <string, string>()
            {
                { "West", "Cleveland Circle" },
                { "East", "North Station" }
            };
            Dictionary <string, string> GreenLineD_termini = new Dictionary <string, string>()
            {
                { "West", "Riverside" },
                { "East", "Government Center" }
            };
            Dictionary <string, string> GreenLineE_termini = new Dictionary <string, string>()
            {
                { "West", "Heath Street" },
                { "East", "Lechmere" }
            };
            Dictionary <string, string> OrangeLine_termini = new Dictionary <string, string>()
            {
                { "North", "Oak Grove" },
                { "South", "Forest Hills" }
            };
            Dictionary <string, string> RedLine1_termini = new Dictionary <string, string>()
            {
                { "West", "Alewife" },
                { "East", "Ashmont" }
            };
            Dictionary <string, string> RedLine2_termini = new Dictionary <string, string>()
            {
                { "West", "Alewife" },
                { "North", "Braintree" }
            };
            Dictionary <string, string> SilverLineSL1_termini = new Dictionary <string, string>()
            {
                { "West", "Alewife" },
                { "North", "Braintree" }
            };
            Dictionary <string, string> SilverLineSL2_termini = new Dictionary <string, string>()
            {
                { "West", "Alewife" },
                { "North", "Braintree" }
            };
            Dictionary <string, string> SilverLineSL3_termini = new Dictionary <string, string>()
            {
                { "West", "Alewife" },
                { "North", "Braintree" }
            };
            Dictionary <string, string> SilverLineSL4_termini = new Dictionary <string, string>()
            {
                { "West", "Alewife" },
                { "North", "Braintree" }
            };
            Dictionary <string, string> SilverLineSL5_termini = new Dictionary <string, string>()
            {
                { "West", "Alewife" },
                { "North", "Braintree" }
            };

            terminiMasterList.Add("BlueLine", BlueLine_termini);
            terminiMasterList.Add("GreenLineB", GreenLineB_termini);
            terminiMasterList.Add("GreenLineC", GreenLineC_termini);
            terminiMasterList.Add("GreenLineD", GreenLineD_termini);
            terminiMasterList.Add("GreenLineE", GreenLineE_termini);
            terminiMasterList.Add("OrangeLine", OrangeLine_termini);
            terminiMasterList.Add("RedLine1", RedLine1_termini);
            terminiMasterList.Add("RedLine2", RedLine2_termini);

            train BlueLine      = new train("Blue Line", BlueLine_termini);
            train GreenLineB    = new train("Green Line B", GreenLineB_termini);
            train GreenLineC    = new train("Green Line C", GreenLineC_termini);
            train GreenLineD    = new train("Green Line D", GreenLineD_termini);
            train GreenLineE    = new train("Green Line E", GreenLineE_termini);
            train OrangeLine    = new train("Orange Line", OrangeLine_termini);
            train RedLine1      = new train("Red Line", RedLine1_termini);
            train RedLine2      = new train("Red Line", RedLine2_termini);
            train SilverLineSl1 = new train("SilverLine SL1", SilverLineSL1_termini);
            train SilverLineSl2 = new train("SilverLine SL2", SilverLineSL2_termini);
            train SilverLineSl3 = new train("SilverLine SL3", SilverLineSL3_termini);
            train SilverLineSl4 = new train("SilverLine SL4", SilverLineSL4_termini);
            train SilverLineSl5 = new train("SilverLine SL5", SilverLineSL5_termini);

            List <train> ForestHillsTrains = new List <train> {
                OrangeLine
            };
            List <train> GreenStreetTrains = new List <train> {
                OrangeLine
            };
            List <train> StonyBrookTrains = new List <train> {
                OrangeLine
            };
            List <train> JacksonSquareTrains = new List <train> {
                OrangeLine
            };
            List <train> RoxburyCrossingTrains = new List <train> {
                OrangeLine
            };
            List <train> RugglesTrains = new List <train> {
                OrangeLine
            };
            List <train> MassachusettsAvenueTrains = new List <train> {
                OrangeLine
            };
            List <train> BackBayTrains = new List <train> {
                OrangeLine
            };
            List <train> TuftsMedicalCenterTrains = new List <train> {
                OrangeLine, SilverLineSl4, SilverLineSl5
            };
            List <train> ChinatownTrains = new List <train> {
                OrangeLine, SilverLineSl4, SilverLineSl5
            };
            List <train> DowntownCrossingTrains = new List <train> {
                OrangeLine, RedLine1, RedLine2
            };
            List <train> StateStreetTrains = new List <train> {
                OrangeLine, BlueLine
            };
            List <train> HaymarketTrains = new List <train> {
                OrangeLine, GreenLineC, GreenLineE
            };
            List <train> NorthStationTrains = new List <train> {
                OrangeLine, GreenLineC, GreenLineE
            };
            List <train> CommunityCollegeTrains = new List <train> {
                OrangeLine
            };
            List <train> SullivanSquareTrains = new List <train> {
                OrangeLine
            };
            List <train> AssemblyTrains = new List <train> {
                OrangeLine
            };
            List <train> WellingtonTrains = new List <train> {
                OrangeLine
            };
            List <train> MaldenCenterTrains = new List <train> {
                OrangeLine
            };
            List <train> OakGroveTrains = new List <train> {
                OrangeLine
            };
            List <train> BowdoinTrains = new List <train> {
                BlueLine
            };
            List <train> GovernmentCenterTrains = new List <train> {
                BlueLine, GreenLineC, GreenLineD, GreenLineE
            };
            List <train> AquariumTrains = new List <train> {
                BlueLine
            };
            List <train> MaverickTrains = new List <train> {
                BlueLine
            };
            List <train> AirportTrains = new List <train> {
                BlueLine
            };
            List <train> WoodIslandTrains = new List <train> {
                BlueLine
            };
            List <train> OrientHeightsTrains = new List <train> {
                BlueLine
            };
            List <train> SuffolkDownsTrains = new List <train> {
                BlueLine
            };
            List <train> BeachmontTrains = new List <train> {
                BlueLine
            };
            List <train> RevereBeachTrains = new List <train> {
                BlueLine
            };
            List <train> WonderlandTrains = new List <train> {
                BlueLine
            };

            station ForestHills         = new station("Forest Hills", ForestHillsTrains);
            station GreenStreet         = new station("Green Street", GreenStreetTrains);
            station StonyBrook          = new station("Stony Brook", StonyBrookTrains);
            station JacksonSquare       = new station("Jackson Square", JacksonSquareTrains);
            station RoxburyCrossing     = new station("RoxburyCrossing", RoxburyCrossingTrains);
            station Ruggles             = new station("Ruggles", RugglesTrains);
            station MassachusettsAvenue = new station("Massachusetts Avenue", MassachusettsAvenueTrains);
            station BackBay             = new station("Back Bay", BackBayTrains);
            station TuftsMedicalCenter  = new station("Tufts Medical Center", TuftsMedicalCenterTrains);
            station Chinatown           = new station("Chinatown", ChinatownTrains);
            station DowntownCrossing    = new station("Downtown Crossing", DowntownCrossingTrains);
            station StateStreet         = new station("State Street", StateStreetTrains);
            station Haymarket           = new station("Haymarket", HaymarketTrains);
            station NorthStation        = new station("North Station", NorthStationTrains);
            station CommunityCollege    = new station("Community College", CommunityCollegeTrains);
            station SullivanSquare      = new station("Sullivan Square", SullivanSquareTrains);
            station Assembly            = new station("Assembly", AssemblyTrains);
            station Wellington          = new station("Wellington", WellingtonTrains);
            station MaldenCenter        = new station("Malden Center", MaldenCenterTrains);
            station OakGrove            = new station("Oak Grove", OakGroveTrains);
            station Bowdoin             = new station("Bowdoin", BowdoinTrains);
            station GovernmentCenter    = new station("Government Center", GovernmentCenterTrains);
            station Aquarium            = new station("Aquarium", AquariumTrains);
            station Maverick            = new station("Maverick", MaverickTrains);
            station Airport             = new station("Airport", AirportTrains);
            station WoodIsland          = new station("Wood Island", WoodIslandTrains);
            station OrientHeights       = new station("Orient Heights", OrientHeightsTrains);
            station SuffolkDowns        = new station("Suffolk Downs", SuffolkDownsTrains);
            station Beachmont           = new station("Beachmont", BeachmontTrains);
            station RevereBeach         = new station("Revere Beach", RevereBeachTrains);
            station Wonderland          = new station("Wonderland", WonderlandTrains);


            List <station> OrangeLine_stations = new List <station>()
            {
                ForestHills, GreenStreet, StonyBrook, JacksonSquare, RoxburyCrossing, Ruggles,
                MassachusettsAvenue, BackBay, TuftsMedicalCenter, Chinatown, DowntownCrossing,
                StateStreet, Haymarket, NorthStation, CommunityCollege, SullivanSquare, Assembly,
                Wellington, MaldenCenter, OakGrove
            };

            List <station> BlueLine_stations = new List <station>()
            {
                Bowdoin, GovernmentCenter, StateStreet, Aquarium, Maverick, Airport, WoodIsland, OrientHeights,
                SuffolkDowns, Beachmont, RevereBeach, Wonderland
            };


            Dictionary <train, List <station> > StationList = new Dictionary <train, List <station> >()
            {
                { OrangeLine, OrangeLine_stations },
                { BlueLine, BlueLine_stations }
            };
        }
 void Start()
 {
     trainScript = train.GetComponent <train>();
     tmpro       = gameObject.GetComponent <TextMeshProUGUI>();
     currentTime = 6.0f;
 }
Beispiel #27
0
            public train readfrombinaryfile(train stream)
            {
                RijndaelManaged rijmanaged = new RijndaelManaged();
                byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
                byte[] iv = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };

                using(Stream str = File.OpenRead("myfile.bin"))
                {
                    using(var ds = new DeflateStream(str, CompressionMode.Decompress))
                    {
                        using(var crypto = new CryptoStream(ds, rijmanaged.CreateDecryptor(key, iv),
                            CryptoStreamMode.Read))
                        {
                            using(var f = new BinaryReader(crypto))
                            {
                                stream.number = f.ReadInt32();
                                stream.number_carriages = f.ReadInt32();
                                for(int i = 0;i < stream.number_carriages;i++)
                                {
                                    int number,number_coupes;
                                    number = f.ReadInt32();
                                    number_coupes=f.ReadInt32();
                                    carriage newcar = new carriage(number,number_coupes);
                                    for(int j = 0;j < newcar.number_coupes;j++)
                                    {
                                        int numberof, number_passenger;
                                        numberof=f.ReadInt32();
                                        number_passenger=f.ReadInt32();
                                        coupe newcoupe = new coupe(numberof, number_passenger);
                                        newcar.add(newcoupe);
                                    }
                                    stream.add(newcar);
                                }
                            }
                        }
                    }
                }
                return stream;
            }
Beispiel #28
0
 void Awake()
 {
     trains = this;
     this.gameObject.SetActive(false);
 }
Beispiel #29
0
            public void writetobinaryfile(train stream)
            {
                RijndaelManaged rijmanaged = new RijndaelManaged();

                byte[] key = { 0x17, 0x54, 0x03, 0x34, 0x05, 0x63, 0x51, 0x48, 0x29, 0x15, 0x11 };
                byte[] iv = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };
       
                using(Stream str=File.Create("myfile.bin"))
                {
                    using(var ds = new DeflateStream(str, CompressionMode.Compress))
                    {
                        using(var crypto = new CryptoStream(ds, rijmanaged.CreateEncryptor(key, iv),
                            CryptoStreamMode.Write))
                        {
                            using(var bw = new BinaryWriter(crypto))
                            {
                                bw.Write(stream.number);
                                bw.Write(stream.number_carriages);
                                foreach(var c in stream)
                                {
                                    bw.Write(c.number);
                                    bw.Write(c.number_coupes);
                                    foreach(var s in c)
                                    {
                                        bw.Write(s.number);
                                        bw.Write(s.number_passenger);
                                    }
                                }
                            }
                            crypto.Close();
                        }  
                    }
                }
            }
Beispiel #30
0
 private void button6_Click(object sender, EventArgs e)
 {
     if(current == null) return;
     train t = new train();
     t.xst = current.i;
     t.yst = current.j;
     cur_train = t;
     mode = emode.m_set_train_end;
 }
Beispiel #31
0
 public void SerializeWithDataContract(train _train)
 {
     var ds = new DataContractSerializer(typeof(train));
     using(Stream s = File.Create("D:\\serialize.xml"))
         ds.WriteObject(s,_train);
 }
Beispiel #32
0
 public void SerialezeObject(train obj)
 {
     var formatter = new BinaryFormatter();
     using(Stream s = File.Create("train.dat"))
         formatter.Serialize(s, obj);
 }
Beispiel #33
0
        private bool FindTrainWay(train t)
        {
            bool isway = false;
            int xstart = t.xst, ystart = t.yst, xfinish = t.xfin, yfinish = t.yfin;

            int kol_wewere = 0, ic, jc;
            double sum_ = 0;
            double v = 0, v_ = 0;
            double min = 10000000;
            int jmin = 0, imin = 0;
            for (int p = 0; p < kol; p++)
            {
                for (int o = 0; o < kol; o++)
                {

                    map[p, o].wewere = false;
                    map[p, o].onway = false;

                    // map[p, o].path.Clear();
                     map[p, o].val = 1000000;

                    //   map[p, o].finish = false;

                }
            }
            map[xstart, ystart].val = 0;
            while (kol_wewere < SumWay() - 1)
            {

                min = 10000000;
                jmin = 0;
                imin = 0;
                for (int i = 0; i < kol; i++)
                {
                    for (int j = 0; j < kol; j++)
                    {
                        if (map[i, j].val < min && map[i, j].wewere == false)
                        {
                            imin = i;
                            jmin = j;
                            min = map[i, j].val;

                        }
                    }
                }
                map[imin, jmin].wewere = true;
                kol_wewere++;
                // obhodim sosedey
                for (int i = -1; i <= 1; i++)
                {
                    for (int j = -1; j <= 1; j++)
                    {
                        ic = imin + i; // координаты рассматриваемого участка относительно каждой точки
                        jc = jmin + j;
                        if (ic < 0 || jc < 0 || ic >= kol || jc >= kol) continue;
                        if (ic == 0 & jc == 0) continue;
                        //   if (ic == -1 || jc == -1 || ic == kol-1 || jc == kol - 1) continue;

                        if (!map[ic, jc].confirm_road)
                        {
                            map[ic, jc].wewere = true;

                            continue;
                        }
                        if (map[ic, jc].sea)
                        {
                            map[ic, jc].val += 10;

                        }
                        v = map[ic, jc].val;
                        if (i != 0 && j != 0)
                        {
                            v_ = map[imin, jmin].val + 1.7; // задаем цену перехода
                        }

                        if (i == 0 || j == 0) v_ = map[imin, jmin].val + 1; // задаем цену перехода

                        if (v_ < v)
                        {
                            map[ic, jc].val = v_;
                            map[ic, jc].path.Clear();
                            map[ic, jc].path.AddRange(map[imin, jmin].path);
                            map[ic, jc].path.Add(map[ic, jc]);
                        }
                    }
                }
            }
            if (map[xfinish, yfinish].path.Count == 0)
            {
                return false;
            }
            t.track.Clear();
            t.track.AddRange(map[xfinish, yfinish].path);
            return true;
        }
Beispiel #34
0
            public static void Main(string[] args)
            {
                //BEGIN MASUKAN DATA TRAIN & DATA TEST KE ARRAY
                StreamReader reader = new StreamReader(File.OpenRead(@"D:\Backup Collyeah\Tugas\AI\Data Tugas 3 AI\DataTrain_Tugas3_AI.csv"));

                traintmp[] dataTmp   = new traintmp[801];
                train[]    dataTrain = new train[801];
                int        i         = 0;

                while (!reader.EndOfStream)
                {
                    var line   = reader.ReadLine();
                    var values = line.Split(',');

                    dataTmp[i].index = values[0];
                    dataTmp[i].x1    = values[1];
                    dataTmp[i].x2    = values[2];
                    dataTmp[i].x3    = values[3];
                    dataTmp[i].x4    = values[4];
                    dataTmp[i].x5    = values[5];
                    dataTmp[i].y     = values[6];
                    i++;
                }

                //convert string
                for (int j = 1; j < 801; j++)
                {
                    string stringVal  = dataTmp[j].index;
                    string stringVal1 = dataTmp[j].x1;
                    string stringVal2 = dataTmp[j].x2;
                    string stringVal3 = dataTmp[j].x3;
                    string stringVal4 = dataTmp[j].x4;
                    string stringVal5 = dataTmp[j].x5;
                    string stringVal6 = dataTmp[j].y;
                    if (stringVal1.Contains("."))
                    {
                        stringVal1 = stringVal1.Replace(".", ",");
                    }
                    if (stringVal2.Contains("."))
                    {
                        stringVal2 = stringVal2.Replace(".", ",");
                    }
                    if (stringVal3.Contains("."))
                    {
                        stringVal3 = stringVal3.Replace(".", ",");
                    }
                    if (stringVal4.Contains("."))
                    {
                        stringVal4 = stringVal4.Replace(".", ",");
                    }
                    if (stringVal5.Contains("."))
                    {
                        stringVal5 = stringVal5.Replace(".", ",");
                    }

                    int    idx = System.Convert.ToInt32(stringVal);
                    double x1  = System.Convert.ToDouble(stringVal1);
                    double x2  = System.Convert.ToDouble(stringVal2);
                    double x3  = System.Convert.ToDouble(stringVal3);
                    double x4  = System.Convert.ToDouble(stringVal4);
                    double x5  = System.Convert.ToDouble(stringVal5);
                    int    y   = System.Convert.ToInt32(stringVal6);
                    dataTrain[j].index = idx;
                    dataTrain[j].x1    = x1;
                    dataTrain[j].x2    = x2;
                    dataTrain[j].x3    = x3;
                    dataTrain[j].x4    = x4;
                    dataTrain[j].x5    = x5;
                    dataTrain[j].y     = y;
                }
                StreamReader reader2 = new StreamReader(File.OpenRead(@"D:\Backup Collyeah\Tugas\AI\Data Tugas 3 AI\DataTest_Tugas3_AI.csv"));

                traintmp[] dataTmp2 = new traintmp[201];
                train[]    dataTest = new train[201];
                int        c        = 0;

                while (!reader2.EndOfStream)
                {
                    var line2   = reader2.ReadLine();
                    var values2 = line2.Split(',');

                    dataTmp2[c].index = values2[0];
                    dataTmp2[c].x1    = values2[1];
                    dataTmp2[c].x2    = values2[2];
                    dataTmp2[c].x3    = values2[3];
                    dataTmp2[c].x4    = values2[4];
                    dataTmp2[c].x5    = values2[5];
                    dataTmp2[c].y     = values2[6];
                    c++;
                }
                for (int j = 1; j < 201; j++)
                {
                    string stringVal  = dataTmp2[j].index;
                    string stringVal1 = dataTmp2[j].x1;
                    string stringVal2 = dataTmp2[j].x2;
                    string stringVal3 = dataTmp2[j].x3;
                    string stringVal4 = dataTmp2[j].x4;
                    string stringVal5 = dataTmp2[j].x5;
                    string stringVal6 = dataTmp2[j].y;
                    if (stringVal1.Contains("."))
                    {
                        stringVal1 = stringVal1.Replace(".", ",");
                    }
                    if (stringVal2.Contains("."))
                    {
                        stringVal2 = stringVal2.Replace(".", ",");
                    }
                    if (stringVal3.Contains("."))
                    {
                        stringVal3 = stringVal3.Replace(".", ",");
                    }
                    if (stringVal4.Contains("."))
                    {
                        stringVal4 = stringVal4.Replace(".", ",");
                    }
                    if (stringVal5.Contains("."))
                    {
                        stringVal5 = stringVal5.Replace(".", ",");
                    }

                    int    idx = System.Convert.ToInt32(stringVal);
                    double x1  = System.Convert.ToDouble(stringVal1);
                    double x2  = System.Convert.ToDouble(stringVal2);
                    double x3  = System.Convert.ToDouble(stringVal3);
                    double x4  = System.Convert.ToDouble(stringVal4);
                    double x5  = System.Convert.ToDouble(stringVal5);

                    dataTest[j].index = idx;
                    dataTest[j].x1    = x1;
                    dataTest[j].x2    = x2;
                    dataTest[j].x3    = x3;
                    dataTest[j].x4    = x4;
                    dataTest[j].x5    = x5;
                    dataTest[j].y     = 4;
                }

                //END MEMASUKAN ARRAY
                List <int> hasilKategori = new List <int>();

                //MENGHITUNG JARAK SETIAP DATA TEST KE DATA TRAI
                for (int j = 1; j < 201; j++)
                {
                    hasil[] tmpHasil = new hasil[801];
                    for (int l = 1; l < 801; l++)
                    {
                        //MENGITUNG JARAK EUCLEDIAN
                        double eucledian = Math.Sqrt(Math.Pow((dataTrain[l].x1 - dataTest[j].x1), 2) + Math.Pow((dataTrain[l].x2 - dataTest[j].x2), 2) + Math.Pow((dataTrain[l].x3 - dataTest[j].x3), 2) + Math.Pow((dataTrain[l].x4 - dataTest[j].x4), 2) + Math.Pow((dataTrain[l].x5 - dataTest[j].x5), 2));
                        //MEMASUKKAN DATA JARAK & KELAS KE DALAM ARRAY
                        tmpHasil[l].jarak    = eucledian;
                        tmpHasil[l].kategori = dataTrain[l].y;
                    }
                    //tmpHasil.OrderBy(x=>x.jarak);
                    Array.Sort(tmpHasil, (x, y) => x.jarak.CompareTo(y.kategori));
                    hitungKategori[] hitung = new hitungKategori[4];
                    hitung[0].kategori = 0;
                    hitung[1].kategori = 1;
                    hitung[2].kategori = 2;
                    hitung[3].kategori = 3;

                    //MENGHITUNG MAYORITAS KELAS KATEGORI BERDASARKAN K=11
                    for (int k = 1; k < 12; k++)
                    {
                        if (tmpHasil[k].kategori == 0)
                        {
                            hitung[0].count += 1;
                        }
                        else if (tmpHasil[k].kategori == 1)
                        {
                            hitung[1].count += 1;
                        }
                        else if (tmpHasil[k].kategori == 2)
                        {
                            hitung[2].count += 1;
                        }
                        else if (tmpHasil[k].kategori == 3)
                        {
                            hitung[3].count += 1;
                        }
                    }
                    //hitung.OrderBy(x=>x.count);
                    Array.Sort(hitung, (x, y) => y.count.CompareTo(x.count));
                    //Console.WriteLine(hitung[0].kategori + " " + hitung[0].count);
                    //Console.WriteLine(hitung[1].kategori + " " + hitung[1].count);
                    //Console.WriteLine(hitung[2].kategori + " " + hitung[2].count);
                    //Console.WriteLine(hitung[3].kategori + " " + hitung[3].count);
                    //Console.ReadKey();
                    dataTest[j].y = hitung[0].kategori;

                    hasilKategori.Add(dataTest[j].y);
                }
                for (int j = 1; j < 201; j++)
                {
                    Console.Write(dataTest[j].index + " " + dataTest[j].y);
                    Console.WriteLine();
                }
                using (var file = File.CreateText(@"C:\Users\SyekhTampan\Desktop\Tugas2AI\DataTebakanTugas3.csv"))
                {
                    file.WriteLine("Kategori");
                    foreach (var arr in hasilKategori)
                    {
                        int count = 0;

                        if (count <= 200)
                        {
                            file.WriteLine(string.Join(",", arr));
                        }
                        count++;
                    }
                }
                Console.ReadKey();
            }
        /// <summary>
        /// 保存问题(修改和新增)
        /// 【WebService 使用】【不根据id进行判别】
        /// </summary>
        /// <returns></returns>
        public bool SaveAlarms(List <alarmdetail> list_ad, int LineID, DateTime TrainComeDate, string TelexCode, int TrainDetailOrderNum)
        {
            try
            {
                //由于入库导致的
                Thread.Sleep(new TimeSpan(0, Config.DelayTime4Save, 0));
                if (list_ad != null && list_ad.Count > 0)
                {
                    using (sartas3 db = new sartas3())
                    {
                        train t = db.train.SingleOrDefault(n => n.Train_ComeDate == TrainComeDate && n.Line_ID == LineID && n.TelexCode == TelexCode);
                        if (t != null)
                        {
                            //首先根据时间找到指定的分表
                            string TableName = "traindetail";
                            if (TrainComeDate.Month < DateTime.Now.Month)
                            {
                                for (DateTime i = TrainComeDate; i.Month < DateTime.Now.Month; i = i.AddMonths(1))
                                {
                                    TableName = "traindetail_" + i.ToString("MM");
                                    string SQL_BeSureTableExist = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='" + Config.DB_SCHEMA + "'  AND TABLE_NAME = 'traindetail_" + i.ToString("yyyyMM") + "'";
                                    string resName = db.Database.SqlQuery <string>(SQL_BeSureTableExist).FirstOrDefault();
                                    if (!string.IsNullOrWhiteSpace(resName))
                                    {
                                        break;
                                    }
                                    else
                                    {
                                        TableName = "traindetail";
                                    }
                                }
                            }
                            //根据分表名称进行查询
                            string      SQL_Query = @"SELECT * FROM " + Config.DB_SCHEMA + "." + TableName + @" td WHERE td.Train_ID = '" + t.Train_ID + "' AND td.TrainDetail_OrderNo='" + TrainDetailOrderNum + "' ORDER BY td.TrainDetail_OrderNo";
                            traindetail td        = db.Database.SqlQuery <traindetail>(SQL_Query).SingleOrDefault();
                            if (td != null)
                            {
                                foreach (alarmdetail ad in list_ad)
                                {
                                    if (!string.IsNullOrWhiteSpace(ad.AlarmDetail_ID))
                                    {
                                        alarmdetail oldone = db.alarmdetail.SingleOrDefault(n => n.AlarmDetail_ID == ad.AlarmDetail_ID);
                                        if (oldone != null)
                                        {
                                            //修改
                                            oldone.HandleResult = ad.HandleResult;
                                            oldone.OpTime       = DateTime.Now;
                                        }
                                        else
                                        {
                                            //新增
                                            ad.Train_ID       = t.Train_ID.ToString();
                                            ad.TrainDetail_ID = td.TrainDetail_ID.ToString();
                                            ad.HandleResult   = "0";//新增
                                            ad.AlarmLevel     = 1;
                                            db.alarmdetail.Add(ad);
                                        }
                                        db.SaveChanges();
                                    }
                                    else
                                    {
                                        throw new Exception("AlarmDetailID为Null");
                                    }
                                }
                                //更新车厢报警等级
                                new BLL_Car().Update_CarAlarmLevel(td.TrainDetail_ID.ToString());
                            }
                            else
                            {
                                throw new Exception("未找到该车车厢");
                            }

                            //更新列车报警等级
                            new BLL_Train().Update_TrainAlarmLevel(t.Train_ID.ToString());
                        }
                        else
                        {
                            throw new Exception("未找到该列车");
                        }
                    }
                    return(true);
                }
                else
                {
                    throw new Exception("AlarmDetail为空");
                }
            }
            catch (Exception ex) { throw ex; }
        }