/// <summary> /// 添加控制配置缓存对象 包括更新 /// </summary> /// <param name="item"></param> /// public static bool AddJC_JCSDKZCache(Jc_JcsdkzInfo item) { //IJC_JCSDKZService JCSDKZService = ServiceFactory.CreateService<IJC_JCSDKZService>(); //return JCSDKZService.AddJC_JCSDKZCache(item); var req = new ManualCrossControlAddRequest { ManualCrossControlInfo = item }; var res = ManualCrossControlService.AddManualCrossControl(req); if (!res.IsSuccess) { throw new Exception(res.Message); } return(res.IsSuccess); }
/// <summary> /// 添加手动/交叉控制 /// </summary> /// <param name="ManualCrossControlRequest"></param> /// <returns></returns> public BasicResponse AddManualCrossControl(ManualCrossControlAddRequest 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); var resultjc_Jcsdkz = _Repository.AddManualCrossControl(_jc_Jcsdkz); //缓存操作 ManualCrossControlCacheAddRequest AddManualCrossControlCacheRequest = new ManualCrossControlCacheAddRequest(); AddManualCrossControlCacheRequest.ManualCrossControlInfo = item; _ManualCrossControlCacheService.AddManualCrossControlCache(AddManualCrossControlCacheRequest); //调用驱动重新加载控制信息 DriverManualCrossControlReLoadRequest reLoadRequest = new DriverManualCrossControlReLoadRequest(); _DriverManualCrossControlService.ReLoad(reLoadRequest); return(Result); }