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); }
/// <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); }
/// <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); }