예제 #1
0
		public SchemaObjectBase UpdateApplication(SCApplication application)
		{
			SCObjectExecutor executor = new SCObjectExecutor(SCOperationType.UpdateApplication, application) { NeedValidation = this.NeedValidationAndStatusCheck, NeedStatusCheck = this.NeedValidationAndStatusCheck };

			if (this._NeedCheckPermissions)
				CheckPermissions(SCOperationType.UpdateApplication, application.Schema, "UpdateApplications", application.ID);

			SchemaObjectBase result = null;

			ExecuteWithActions(SCOperationType.UpdateApplication, () => SCActionContext.Current.DoActions(() => result = (SchemaObjectBase)executor.Execute()));

			return result;
		}
 public static string convert2String(string status)
 {
     return(SCApplication.getMessageString(string.Format("TaskCommandStatus_{0}", status)));
 }
예제 #3
0
		public SchemaObjectBase AddApplication(SCApplication application)
		{
			if (this._NeedCheckPermissions)
				CheckSupervisorPermissions(SCOperationType.AddApplication);

			SCObjectExecutor executor = new SCObjectExecutor(SCOperationType.AddApplication, application) { NeedValidation = this.NeedValidationAndStatusCheck };

			SchemaObjectBase result = null;

			ExecuteWithActions(SCOperationType.AddApplication, () => SCActionContext.Current.DoActions(() => result = (SchemaObjectBase)executor.Execute()));

			return result;
		}
예제 #4
0
 public void start(SCApplication app)
 {
     scApp = app;
     cache = new Cache(app.getCommObjCacheManager());
 }
예제 #5
0
 public Redis(SCApplication _scApp)
 {
     redisCacheManager = _scApp.getRedisCacheManager();
 }
예제 #6
0
 public void start(SCApplication app)
 {
     scApp      = app;
     vidIvfoDAO = scApp.VIDINFODao;
 }
예제 #7
0
 public Database(SCApplication _scApp)
 {
     blockZoneMasterDao = _scApp.BlockZoneMasterDao;
     blockZoneDetaiDao  = _scApp.BolckZoneDetaiDao;
     blockZoneQueueDao  = _scApp.BlockZoneQueueDao;
 }
 public override void initStart()
 {
     scApp = SCApplication.getInstance();
     //smControl = scApp.getBCFApplication().getMPLCSMControl("Charger") as MPLCSMControl;
 }
        //public bool fireDoorOpen { get; set; }
        //public bool fireDoorCloseGrant { get; set; }
        //public bool fireDoorCrossingSignal { get; set; }

        public void fireDoorCancelAbortCommand(SCApplication scApp)
        {
            //Cancel當前Queue的會找不到路徑的命令。
            List <ACMD_MCS> queue_mcs_cmds = scApp.CMDBLL.loadMCS_Command_Queue();

            foreach (ACMD_MCS cmd in queue_mcs_cmds)
            {
                bool isWalkable       = true;
                bool source_is_a_port = scApp.PortStationBLL.OperateCatch.IsExist(cmd.HOSTSOURCE);
                if (source_is_a_port)
                {
                    APORTSTATION source_port_station = scApp.PortStationBLL.OperateCatch.getPortStation(cmd.HOSTSOURCE);
                    APORTSTATION dest_port_station   = scApp.PortStationBLL.OperateCatch.getPortStation(cmd.HOSTDESTINATION);
                    isWalkable = scApp.GuideBLL.IsRoadWalkable(source_port_station.ADR_ID, dest_port_station.ADR_ID);
                }
                else
                {
                    AVEHICLE     carry_vh          = scApp.VehicleBLL.cache.getVehicleByRealID(cmd.HOSTSOURCE);
                    APORTSTATION dest_port_station = scApp.PortStationBLL.OperateCatch.getPortStation(cmd.HOSTDESTINATION);
                    isWalkable = scApp.GuideBLL.IsRoadWalkable(carry_vh.CUR_ADR_ID, dest_port_station.ADR_ID);
                }



                if (!isWalkable)
                {
                    //await Task.Run(() => mainform.BCApp.scApp.VehicleService.doCancelOrAbortCommandByMCSCmdID(mcs_cmd.CMD_ID, cnacel_type));
                    scApp.VehicleService.doCancelOrAbortCommandByMCSCmdID(cmd.CMD_ID, CMDCancelType.CmdCancel);
                }
            }
            //Abort已經執行,但是會經過防火門的命令。
            List <ACMD_MCS> executing_mcs_cmds = scApp.CMDBLL.loadMCS_Command_Executing();

            foreach (ACMD_MCS cmd in executing_mcs_cmds)
            {
                bool isWalkable       = true;
                bool source_is_a_port = scApp.PortStationBLL.OperateCatch.IsExist(cmd.HOSTSOURCE);
                if (source_is_a_port)
                {
                    APORTSTATION source_port_station = scApp.PortStationBLL.OperateCatch.getPortStation(cmd.HOSTSOURCE);
                    APORTSTATION dest_port_station   = scApp.PortStationBLL.OperateCatch.getPortStation(cmd.HOSTDESTINATION);
                    isWalkable = scApp.GuideBLL.IsRoadWalkable(source_port_station.ADR_ID, dest_port_station.ADR_ID);
                }
                else
                {
                    AVEHICLE     carry_vh          = scApp.VehicleBLL.cache.getVehicleByRealID(cmd.HOSTSOURCE);
                    APORTSTATION dest_port_station = scApp.PortStationBLL.OperateCatch.getPortStation(cmd.HOSTDESTINATION);
                    isWalkable = scApp.GuideBLL.IsRoadWalkable(carry_vh.CUR_ADR_ID, dest_port_station.ADR_ID);
                }

                if (!isWalkable)
                {
                    //await Task.Run(() => mainform.BCApp.scApp.VehicleService.doCancelOrAbortCommandByMCSCmdID(mcs_cmd.CMD_ID, cnacel_type));
                    CMDCancelType cnacel_type = default(CMDCancelType);
                    if (cmd.TRANSFERSTATE < sc.E_TRAN_STATUS.Transferring)
                    {
                        cnacel_type = CMDCancelType.CmdCancel;
                    }
                    else if (cmd.TRANSFERSTATE < sc.E_TRAN_STATUS.Canceling)
                    {
                        cnacel_type = CMDCancelType.CmdAbort;
                    }
                    else
                    {
                        continue;
                    }
                    scApp.VehicleService.doCancelOrAbortCommandByMCSCmdID(cmd.CMD_ID, cnacel_type);
                }
            }
        }
예제 #10
0
 /// <summary>
 /// Initializes the start.
 /// </summary>
 public override void initStart()
 {
     scApp = SCApplication.getInstance();
     //dicTranTaskSchedule = scApp.CMDBLL.loadTranTaskSchedule_24Hour();
 }
 public override void initStart()
 {
     scApp = SCApplication.getInstance();
     line  = scApp.getEQObjCacheManager().getLine();
 }
예제 #12
0
 /// <summary>
 /// Initializes the start.
 /// </summary>
 public override void initStart()
 {
     //do nothing
     scApp = SCApplication.getInstance();
 }
예제 #13
0
 public FireDoorInfoDefaultValueDefMapAction()
     : base()
 {
     scApp  = SCApplication.getInstance();
     bcfApp = scApp.getBCFApplication();
 }
 public PortStationDefaultValueDefMapAction()
     : base()
 {
     scApp  = SCApplication.getInstance();
     bcfApp = scApp.getBCFApplication();
 }
예제 #15
0
		public SchemaObjectBase DeleteApplication(SCApplication application)
		{
			SCObjectExecutor executor = new SCObjectExecutor(SCOperationType.DeleteApplication, application) { NeedValidation = false, NeedDeleteMemberRelations = true, NeedStatusCheck = this.NeedValidationAndStatusCheck };

			if (this._NeedCheckPermissions)
				CheckSupervisorPermissions(SCOperationType.DeleteApplication);

			application.Status = SchemaObjectStatus.Deleted;

			SchemaObjectBase result = null;

			ExecuteWithActions(SCOperationType.DeleteApplication, () => SCActionContext.Current.DoActions(() => result = (SchemaObjectBase)executor.Execute()));

			return result;
		}
 public override void initStart()
 {
     scApp = SCApplication.getInstance();
 }
예제 #17
0
		public SchemaObjectBase AddPermission(SCPermission permission, SCApplication application)
		{
			SCMemberRelativeExecutor executor = new SCMemberRelativeExecutor(SCOperationType.AddPermission, application, permission) { NeedValidation = this.NeedValidationAndStatusCheck, SaveTargetData = true, NeedContainerStatusCheck = this.NeedValidationAndStatusCheck };

			if (this._NeedCheckPermissions)
				CheckPermissions(SCOperationType.AddPermission, application.Schema, "AddPermissions", application.ID);

			SCMemberRelation result = null;

			ExecuteWithActions(SCOperationType.AddPermission, () => SCActionContext.Current.DoActions(() => result = (SCMemberRelation)executor.Execute()));

			return result;
		}
예제 #18
0
 /// <summary>
 /// Starts the specified sc application.
 /// </summary>
 /// <param name="scApp">The sc application.</param>
 public void start(SCApplication scApp)
 {
     this.scApp = scApp;
     seqDao     = scApp.SequenceDao;
 }