// Creates the Train and Test collections using the provided text document.
        public void CreateTrainAndTestSets()
        {
            // Temporary variables.
            var aRand = new Random();
            var aCompleteRandomTable = new DataTable();

            for (int col = 0; col < CompleteTable.Columns.Count; col++)
            {
                aCompleteRandomTable.Columns.Add(new DataColumn("Column" + (col + 1).ToString()));
            }

            // Add designated size of train set data points from complete set to train table. Completely randomized.
            aCompleteRandomTable = CompleteTable.AsEnumerable().OrderBy(r => aRand.Next()).Take(CompleteTable.Rows.Count).CopyToDataTable();

            int rowNumber = 0;

            foreach (DataRow row in aCompleteRandomTable.Rows)
            {
                if (rowNumber < 4000)
                {
                    TrainTable.ImportRow(row);
                }
                else
                {
                    TestTable.ImportRow(row);
                }

                rowNumber++;
            }
        }
Exemple #2
0
        /// <summary>
        /// Метод для парсинга xml-документа
        /// </summary>
        /// <param name="doc"></param>
        /// <returns></returns>
        public static List <TrainTable> ParseToList(XmlDocument doc)
        {
            List <TrainTable> Trains = new List <TrainTable>();
            var tt = new TrainTable();

            foreach (XmlNode root in doc.DocumentElement)
            {
                foreach (XmlNode row in root.ChildNodes)
                {
                    if (row.Name == "TrainNumber")
                    {
                        tt.TrainNumber = Convert.ToInt32(row.InnerText);
                    }
                    if (row.Name == "TrainIndexCombined")
                    {
                        tt.TrainIndex         = Convert.ToInt32(row.InnerText.Split('-')[1]);
                        tt.TrainIndexCombined = row.InnerText;
                    }
                    if (row.Name == "FromStationName")
                    {
                        tt.FromStationName = row.InnerText;
                    }
                    if (row.Name == "ToStationName")
                    {
                        tt.ToStationName = row.InnerText;
                    }
                    if (row.Name == "LastStationName")
                    {
                        tt.LastStationName = (row.InnerText);
                    }
                    if (row.Name == "WhenLastOperation")
                    {
                        tt.WhenLastOperation = Convert.ToDateTime(row.InnerText);
                    }
                    if (row.Name == "LastOperationName")
                    {
                        tt.LastOperationName = row.InnerText;
                    }
                    if (row.Name == "InvoiceNum")
                    {
                        tt.InvoiceNum = row.InnerText;
                    }
                    if (row.Name == "PositionInTrain")
                    {
                        tt.PositionInTrain = Convert.ToInt32(row.InnerText);
                    }
                    if (row.Name == "CarNumber")
                    {
                        tt.CarNumber = Convert.ToInt32(row.InnerText);
                    }
                    if (row.Name == "FreightEtsngName")
                    {
                        tt.FreightEtsngName = row.InnerText;
                    }
                    if (row.Name == "FreightTotalWeightKg")
                    {
                        tt.FreightTotalWeightKg = Convert.ToInt32(row.InnerText);

                        Trains.Add(new TrainTable
                        {
                            TrainNumber          = tt.TrainNumber,
                            TrainIndex           = tt.TrainIndex,
                            TrainIndexCombined   = tt.TrainIndexCombined,
                            FromStationName      = tt.FromStationName,
                            ToStationName        = tt.ToStationName,
                            LastStationName      = tt.LastStationName,
                            LastOperationName    = tt.LastOperationName,
                            WhenLastOperation    = tt.WhenLastOperation,
                            CarNumber            = tt.CarNumber,
                            PositionInTrain      = tt.PositionInTrain,
                            InvoiceNum           = tt.InvoiceNum,
                            FreightEtsngName     = tt.FreightEtsngName,
                            FreightTotalWeightKg = tt.FreightTotalWeightKg
                        });
                    }
                }
            }
            return(Trains);
        }