コード例 #1
0
        public void Test_NoTrainSetThrowsException()
        {
            bool failed;
            //Arrange
            var timeTable = new List <TimeTable> {
                new TimeTable(1, 1, null, "10:20")
            };

            try
            {
                //Act
                var result = new TrainPlan()
                             .TurnOffSwitch(new TrainSwitch {
                    Status = SwitchStatus.On
                }, "10:32")
                             .SetForTrain(null)
                             .FollowTimeTable(timeTable)
                             .StartTrain();

                failed = false;
            }
            catch
            {
                failed = true;
            }


            //Assert
            Assert.AreEqual(true, failed);
        }
コード例 #2
0
        //从数据行中读取数据到TrainPlan中
        public static void TrainPlanFromDB(TrainPlan Plan, DataRow dr)
        {
            Plan.createSiteGUID = dr["strCreateSiteGUID"].ToString();
            Plan.createSiteName = dr["strCreateSiteName"].ToString();
            Plan.createTime     = TFParse.DBToDateTime(dr["dtCreateTime"], DateTime.Parse("1899-01-01"));
            Plan.createUserGUID = dr["strCreateUserGUID"].ToString();
            Plan.createUserName = dr["strCreateUserName"].ToString();

            Plan.dragTypeID     = dr["nDragType"].ToString();
            Plan.dragTypeName   = dr["nDragTypeName"].ToString();
            Plan.endStationID   = dr["strEndStation"].ToString();
            Plan.endStationName = dr["strEndStationName"].ToString();
            Plan.firstStartTime = TFParse.DBToDateTime(dr["dtFirstStartTime"], DateTime.Parse("1899-01-01"));

            Plan.kaiCheTime     = TFParse.DBToDateTime(dr["dtChuQinTime"], DateTime.Parse("1899-01-01"));
            Plan.kehuoID        = dr["nKehuoID"].ToString();
            Plan.kehuoName      = dr["strKehuoName"].ToString();
            Plan.lastArriveTime = TFParse.DBToDateTime(dr["dtLastArriveTime"], DateTime.Parse("1899-01-01"));
            Plan.mainPlanGUID   = dr["strMainPlanGUID"].ToString();

            Plan.placeID       = dr["strPlaceID"].ToString();
            Plan.placeName     = dr["strPlaceName"].ToString();
            Plan.planID        = dr["strTrainPlanGUID"].ToString();
            Plan.planStateID   = TFParse.DBToInt(dr["nPlanState"], 0);
            Plan.planStateName = dr["strPlanStateName"].ToString();

            Plan.planTypeID     = dr["nPlanType"].ToString();
            Plan.planTypeName   = dr["strPlanTypeName"].ToString();
            Plan.realStartTime  = TFParse.DBToDateTime(dr["dtRealStartTime"], DateTime.Parse("1899-01-01"));
            Plan.remarkTypeID   = dr["nRemarkType"].ToString();
            Plan.remarkTypeName = dr["strRemarkTypeName"].ToString();

            Plan.startStationID   = dr["strStartStation"].ToString();
            Plan.startStationName = dr["strStartStationName"].ToString();
            Plan.startTime        = TFParse.DBToDateTime(dr["dtStartTime"], DateTime.Parse("1899-01-01"));
            Plan.strRemark        = dr["strRemark"].ToString();
            Plan.strTrainPlanGUID = dr["strTrainPlanGUID"].ToString();

            Plan.trainJiaoluGUID  = dr["strTrainJiaoluGUID"].ToString();
            Plan.trainJiaoluName  = dr["strTrainJiaoluName"].ToString();
            Plan.trainmanTypeID   = dr["nTrainmanTypeID"].ToString();
            Plan.trainmanTypeName = dr["strTrainmanTypeName"].ToString();
            Plan.trainNo          = dr["strTrainNo"].ToString();

            Plan.trainNumber   = dr["strTrainNumber"].ToString();
            Plan.trainTypeName = dr["strTrainTypeName"].ToString();
        }
コード例 #3
0
        /// <summary>
        /// ¸üÐÂÅàѵ¿Î³Ì
        /// </summary>
        /// <param name="obj"></param>
        public void UpdateTrainPlan(TrainPlan obj)
        {
            Database db = DatabaseFactory.CreateDatabase();

            string    sqlCommand = "USP_TRAIN_PLAN_U";
            DbCommand dbCommand  = db.GetStoredProcCommand(sqlCommand);

            db.AddInParameter(dbCommand, "p_train_plan_id", DbType.Int32, obj.TrainPlanID);
            db.AddInParameter(dbCommand, "p_train_name", DbType.String, obj.TrainName);
            db.AddInParameter(dbCommand, "p_train_content", DbType.String, obj.TrainContent);
            db.AddInParameter(dbCommand, "p_begin_date", DbType.Date, obj.BeginDate);
            db.AddInParameter(dbCommand, "p_end_date", DbType.Date, obj.EndDate);
            db.AddInParameter(dbCommand, "p_has_exam", DbType.Int32, obj.HasExam ? 1 : 0);
            db.AddInParameter(dbCommand, "p_exam_form", DbType.String, obj.ExamForm);
            db.AddInParameter(dbCommand, "p_status_id", DbType.Int32, obj.StatusID);
            db.AddInParameter(dbCommand, "p_memo", DbType.String, obj.Memo);
            db.ExecuteNonQuery(dbCommand);
        }
コード例 #4
0
        public TrainPlan GetTrainPlanInfo(int trainPlanID)
        {
            TrainPlan obj = new TrainPlan();

            Database db = DatabaseFactory.CreateDatabase();

            string    sqlCommand = "USP_TRAIN_PLAN_G";
            DbCommand dbCommand  = db.GetStoredProcCommand(sqlCommand);

            db.AddInParameter(dbCommand, "p_train_plan_id", DbType.Int32, trainPlanID);

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                while (dataReader.Read())
                {
                    obj = CreateModelObject(dataReader);
                }
            }

            return(obj);
        }
コード例 #5
0
    /// <summary>
    /// 获取机车计划信息
    /// </summary>
    /// <param name="TrainPlanGUID">机车计划GUID</param>
    /// <param name="Plan">返回的计划</param>
    /// <returns>是否成功</returns>
    public static Boolean GetTrainPlan(string TrainPlanGUID, TrainPlan Plan)
    {
        //获取计划信息
        string strSqlPlan = "select top 1 * from TAB_Plan_Train where strTrainPlanGUID = @strTrainPlanGUID";

        SqlParameter[] sqlParamPlan =
        {
            new SqlParameter("strTrainPlanGUID", TrainPlanGUID)
        };
        DataTable dtPlan = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSqlPlan, sqlParamPlan).Tables[0];

        if (dtPlan.Rows.Count > 0)
        {
            Plan.TrainPlanGUID = dtPlan.Rows[0]["strTrainPlanGUID"].ToString();
            Plan.TrainNo       = dtPlan.Rows[0]["strTrainNo"].ToString();
            Plan.TrainTypeName = dtPlan.Rows[0]["strTrainNumber"].ToString();
            Plan.TrainNumber   = dtPlan.Rows[0]["strTrainTypeName"].ToString();
            return(true);
        }
        return(false);
    }
コード例 #6
0
        public IList <TrainPlan> GetTrainPlanInfo(int trainPlanID,
                                                  string trainName,
                                                  string trainContent,
                                                  DateTime beginDate,
                                                  DateTime endDate,
                                                  bool hasExam,
                                                  string examForm,
                                                  int statusID,
                                                  string memo,
                                                  int startRowIndex,
                                                  int maximumRows,
                                                  string orderBy)
        {
            IList <TrainPlan> objPlanList = new List <TrainPlan>();

            Database db = DatabaseFactory.CreateDatabase();

            string    sqlCommand = "USP_TRAIN_PLAN_S";
            DbCommand dbCommand  = db.GetStoredProcCommand(sqlCommand);

            db.AddInParameter(dbCommand, "p_start_row_index", DbType.Int32, startRowIndex);
            db.AddInParameter(dbCommand, "p_page_size", DbType.Int32, maximumRows);
            db.AddInParameter(dbCommand, "p_order_by", DbType.String, GetMappingOrderBy(orderBy));
            db.AddOutParameter(dbCommand, "p_count", DbType.Int32, 4);

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                while (dataReader.Read())
                {
                    TrainPlan obj = CreateModelObject(dataReader);

                    objPlanList.Add(obj);
                }
            }

            _recordCount = Convert.ToInt32(db.GetParameterValue(dbCommand, "p_count"));

            return(objPlanList);
        }
コード例 #7
0
        public IList <TrainPlan> GetAllTrainPlanInfo()
        {
            IList <TrainPlan> objPlanList = new List <TrainPlan>();

            Database db = DatabaseFactory.CreateDatabase();

            string    sqlCommand = "USP_TRAIN_PLAN_G";
            DbCommand dbCommand  = db.GetStoredProcCommand(sqlCommand);

            db.AddInParameter(dbCommand, "p_train_plan_id", DbType.Int32, 0);

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                while (dataReader.Read())
                {
                    TrainPlan obj = CreateModelObject(dataReader);

                    objPlanList.Add(obj);
                }
            }
            return(objPlanList);
        }
コード例 #8
0
        static void Main(string[] args)
        {
            Initiate();

            // Control Tower
            // Carlos Lynos
            var plan1 = new TrainPlan()
                        .TurnOffSwitch(switch1, "10:15")
                        .SetForTrain(trains[0])
                        .FollowTimeTable(timeTables)
                        .StartTrain();

            var plan2 = new TrainPlan()
                        .TurnOffSwitch(switch2, "10:19")
                        .SetForTrain(trains[1])
                        .FollowTimeTable(timeTables)
                        .StartTrain();

            StartTimer();
            Run();
            Thread.Sleep(1000);
            Environment.Exit(0);
        }
コード例 #9
0
 public TrainMessage(TrainPlan trainPlan)
 {
     TrainPlan = trainPlan;
 }
コード例 #10
0
    public static bool GetTrainmanPlan(string TrainmaNumber, DateTime EventTime, ref Int32 TrainmanIndex, TrainPlan Plan)
    {
        //获取计划信息
        string strSqlPlan = @"select top 1 * from VIEW_Plan_Trainman where @EventTime >= dateAdd(n,-120,dtStartTime) and @EventTime<=dateAdd(hh,30,dtStartTime)
        and nPlanState >= 4
        and  ((strTrainmanNumber1 = @TrainmaNumber) or (strTrainmanNumber2 = @TrainmaNumber)) order by dtStartTime desc";

        SqlParameter[] sqlParamPlan =
        {
            new SqlParameter("EventTime",     EventTime),
            new SqlParameter("TrainmaNumber", TrainmaNumber)
        };
        DataTable dtPlan = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, strSqlPlan, sqlParamPlan).Tables[0];

        if (dtPlan.Rows.Count > 0)
        {
            Plan.TrainPlanGUID = dtPlan.Rows[0]["strTrainPlanGUID"].ToString();
            Plan.TrainNo       = dtPlan.Rows[0]["strTrainNo"].ToString();
            Plan.TrainTypeName = dtPlan.Rows[0]["strTrainNumber"].ToString();
            Plan.TrainNumber   = dtPlan.Rows[0]["strTrainTypeName"].ToString();
            if (dtPlan.Rows[0]["strTrainmanNumber1"].ToString() == TrainmaNumber)
            {
                TrainmanIndex = 1;
            }
            if (dtPlan.Rows[0]["strTrainmanNumber2"].ToString() == TrainmaNumber)
            {
                TrainmanIndex = 2;
            }
            if (dtPlan.Rows[0]["strTrainmanNumber3"].ToString() == TrainmaNumber)
            {
                TrainmanIndex = 3;
            }
            return(true);
        }
        return(false);
    }
コード例 #11
0
 /// <summary>
 /// 更新培训类别
 /// </summary>
 /// <param name="trainplan"></param>
 public void UpdateTrainPlan(TrainPlan trainplan)
 {
     dal.UpdateTrainPlan(trainplan);
 }
コード例 #12
0
 public void DeleteTrainPlan(TrainPlan trainplan)
 {
     dal.DeleteTrainPlan(trainplan.TrainPlanID);
 }
コード例 #13
0
 /// <summary>
 /// 新增培训类别
 /// </summary>
 /// <param name="trainplan"></param>
 public void AddTrainPlan(TrainPlan trainplan)
 {
     dal.AddTrainPlan(trainplan);
 }