Beispiel #1
0
        public BasicResponse <Jc_JcsdkzInfo> GetByKeyManualCrossControlCache(ManualCrossControlCacheGetByKeyRequest manualCrossControlCacheRequest)
        {
            var manualCrossControlCache         = ManualCrossControlCache.ManualCrossControlCahceInstance.Query(manualcontrol => manualcontrol.ID == manualCrossControlCacheRequest.ManualCrosControlId).FirstOrDefault();
            var manualCrossControlCacheResponse = new BasicResponse <Jc_JcsdkzInfo>();

            manualCrossControlCacheResponse.Data = manualCrossControlCache;
            return(manualCrossControlCacheResponse);
        }
Beispiel #2
0
        /// <summary>
        /// 删除手动/交叉控制
        /// </summary>
        /// <param name="ManualCrossControlRequest"></param>
        /// <returns></returns>
        public BasicResponse DeleteManualCrossControl(ManualCrossControlDeleteRequest ManualCrossControlRequest)
        {
            BasicResponse Result = new BasicResponse();
            ManualCrossControlCacheGetByKeyRequest manualCrossControlCacheRequest = new ManualCrossControlCacheGetByKeyRequest();

            manualCrossControlCacheRequest.ManualCrosControlId = ManualCrossControlRequest.Id;
            var result = _ManualCrossControlCacheService.GetByKeyManualCrossControlCache(manualCrossControlCacheRequest);

            if (result.Data == null)
            {
                //缓存中存在此测点
                Result.Code    = 1;
                Result.Message = "当前删除的手动/交叉控制不存在!";
                return(Result);
            }

            //向网关同步数据
            Jc_JcsdkzInfo item = result.Data;

            item.InfoState = InfoState.Delete;
            List <Jc_JcsdkzInfo> SendItemList = new List <Jc_JcsdkzInfo>();

            SendItemList.Add(item);
            var resultSync = SynchronousDataToGateway(SendItemList);

            if (!resultSync)
            {
                Result.Code    = 1;
                Result.Message = "向网关同步数据失败!";
                return(Result);
            }

            //数据库操作
            _Repository.DeleteManualCrossControl(ManualCrossControlRequest.Id);

            //缓存操作
            ManualCrossControlCacheDeleteRequest DeleteManualCrossControlCacheRequest = new ManualCrossControlCacheDeleteRequest();

            DeleteManualCrossControlCacheRequest.ManualCrossControlInfo = item;
            _ManualCrossControlCacheService.DeleteManualCrossControlCache(DeleteManualCrossControlCacheRequest);

            //调用驱动重新加载控制信息
            DriverManualCrossControlReLoadRequest reLoadRequest = new DriverManualCrossControlReLoadRequest();

            _DriverManualCrossControlService.ReLoad(reLoadRequest);

            return(Result);
        }
Beispiel #3
0
        /// <summary>
        /// 更新手动/交叉控制
        /// </summary>
        /// <param name="ManualCrossControlRequest"></param>
        /// <returns></returns>
        public BasicResponse UpdateManualCrossControl(ManualCrossControlUpdateRequest ManualCrossControlRequest)
        {
            BasicResponse Result = new BasicResponse();
            Jc_JcsdkzInfo item   = ManualCrossControlRequest.ManualCrossControlInfo;

            ManualCrossControlCacheGetByKeyRequest manualCrossControlCacheRequest = new ManualCrossControlCacheGetByKeyRequest();

            manualCrossControlCacheRequest.ManualCrosControlId = item.ID;
            var result = _ManualCrossControlCacheService.GetByKeyManualCrossControlCache(manualCrossControlCacheRequest);

            if (result.Data == null)
            {
                //缓存中存在此测点
                Result.Code    = 1;
                Result.Message = "当前更新的手动/交叉控制信息不存在!";
                return(Result);
            }
            //向网关同步数据
            List <Jc_JcsdkzInfo> SendItemList = new List <Jc_JcsdkzInfo>();

            SendItemList.Add(item);
            var resultSync = SynchronousDataToGateway(SendItemList);

            if (!resultSync)
            {
                Result.Code    = 1;
                Result.Message = "向网关同步数据失败!";
                return(Result);
            }

            //数据库操作
            var _jc_Jcsdkz = ObjectConverter.Copy <Jc_JcsdkzInfo, Jc_JcsdkzModel>(ManualCrossControlRequest.ManualCrossControlInfo);

            _Repository.UpdateManualCrossControl(_jc_Jcsdkz);

            //缓存操作
            ManualCrossControlCacheUpdateRequest UpdateManualCrossControlCacheRequest = new ManualCrossControlCacheUpdateRequest();

            UpdateManualCrossControlCacheRequest.ManualCrossControlInfo = item;
            _ManualCrossControlCacheService.UpdateManualCrossControlCache(UpdateManualCrossControlCacheRequest);

            //调用驱动重新加载控制信息
            DriverManualCrossControlReLoadRequest reLoadRequest = new DriverManualCrossControlReLoadRequest();

            _DriverManualCrossControlService.ReLoad(reLoadRequest);

            return(Result);
        }