/// <summary> /// 添加测点 /// </summary> /// <param name="jc_Defrequest"></param> /// <returns></returns> public BasicResponse AddPointDefine(PointDefineAddRequest PointDefineRequest) { BasicResponse Result = new BasicResponse(); Jc_DefInfo item = PointDefineRequest.PointDefineInfo; Jc_DefInfo olditem = null; B_DefCacheGetByConditionRequest bDefCacheRequest = new B_DefCacheGetByConditionRequest(); bDefCacheRequest.predicate = a => a.Point == item.Point && a.Activity == "1"; var result = _b_DefCacheService.Get(bDefCacheRequest); if (result.Data != null && result.Data.Count > 0) { if (result.Data[0].Activity == "1") { olditem = result.Data[0]; } } //增加重复判断 if (result.Data != null && result.Data.Count > 0) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前添加的测点已存在!"; return(Result); } //向网关同步数据 List <Jc_DefInfo> SendItemList = new List <Jc_DefInfo>(); SendItemList.Add(item); var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } //保存数据库 var _jc_Def = ObjectConverter.Copy <Jc_DefInfo, B_DefModel>(item); var resultjc_Def = _repository.AddDef(_jc_Def); //置初始化标记及休眠处理 PointInitializes(item, olditem); //添加到缓存 B_DefCacheInsertRequest addbDefCacheRequest = new B_DefCacheInsertRequest(); addbDefCacheRequest.B_DefInfo = item; _b_DefCacheService.Insert(addbDefCacheRequest); return(Result); }
/// <summary> /// 批量更新 /// </summary> /// <param name="jc_Defrequest"></param> /// <returns></returns> public BasicResponse UpdatePointDefines(PointDefinesUpdateRequest PointDefineRequest) { BasicResponse Result = new BasicResponse(); List <Jc_DefInfo> items = PointDefineRequest.PointDefinesInfo; List <Jc_DefInfo> Jc_DefCaches = new List <Jc_DefInfo>(); //人员定位测点缓存 Jc_DefInfo olditem = null; B_DefCacheGetByConditionRequest bDefCacheRequest = new B_DefCacheGetByConditionRequest(); bDefCacheRequest.predicate = a => a.Activity == "1"; var result = _b_DefCacheService.Get(bDefCacheRequest); Jc_DefCaches = result.Data; foreach (Jc_DefInfo item in items) { olditem = Jc_DefCaches.Find(a => a.Point == item.Point && a.Activity == "1"); //增加重复判断 if (olditem == null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前更新列表中的数据在数据库中不存在!"; return(Result); } } //向网关同步数据 List <Jc_DefInfo> SendItemList = items; var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } TransactionsManager.BeginTransaction(() => { foreach (Jc_DefInfo item in items) { olditem = Jc_DefCaches.Find(a => a.Point == item.Point && a.Activity == "1"); //保存数据库 var _jc_Def = ObjectConverter.Copy <Jc_DefInfo, B_DefModel>(item); _repository.UpdateDef(_jc_Def); //置下发初始化标记 PointInitializes(item, olditem); //更新缓存 UpdatePointDefineCacheByProperty(item); } }); return(Result); }
/// <summary> /// 更新测点 /// </summary> /// <param name="jc_Defrequest"></param> /// <returns></returns> public BasicResponse UpdatePointDefine(PointDefineUpdateRequest PointDefineRequest) { BasicResponse Result = new BasicResponse(); Jc_DefInfo item = PointDefineRequest.PointDefineInfo; Jc_DefInfo olditem = null; B_DefCacheGetByConditionRequest bDefCacheRequest = new B_DefCacheGetByConditionRequest(); bDefCacheRequest.predicate = a => a.Point == item.Point && a.Activity == "1"; var result = _b_DefCacheService.Get(bDefCacheRequest); if (result.Data != null && result.Data.Count > 0) { if (result.Data[0].Activity == "1") { olditem = result.Data[0]; } } //增加重复判断 if (result.Data == null || result.Data.Count < 1) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前更新的测点不存在!"; return(Result); } //向网关同步数据 List <Jc_DefInfo> SendItemList = new List <Jc_DefInfo>(); SendItemList.Add(item); var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } //保存数据库 var _jc_Def = ObjectConverter.Copy <Jc_DefInfo, B_DefModel>(item); _repository.UpdateDef(_jc_Def); //置下发初始化标记 PointInitializes(item, olditem); //更新缓存 UpdatePointDefineCacheByProperty(item); return(Result); }
public BasicResponse <Jc_DefInfo> GetPointDefineCacheByPointID(PointDefineGetByPointIDRequest PointDefineRequest) { BasicResponse <Jc_DefInfo> response = new BasicResponse <Jc_DefInfo>(); B_DefCacheGetByConditionRequest rdergetrequest = new B_DefCacheGetByConditionRequest(); rdergetrequest.predicate = r => r.PointID == PointDefineRequest.PointID; response.Data = _b_DefCacheService.Get(rdergetrequest).Data.FirstOrDefault(); return(response); }
/// <summary> /// 根据区域ID获取设备 /// </summary> /// <param name="PointDefineRequest"></param> /// <returns></returns> public BasicResponse <List <Jc_DefInfo> > GetPointDefineCacheByAreaID(PointDefineGetByAreaIDRequest PointDefineRequest) { BasicResponse <List <Jc_DefInfo> > response = new BasicResponse <List <Jc_DefInfo> >(); B_DefCacheGetByConditionRequest rdergetrequest = new B_DefCacheGetByConditionRequest(); rdergetrequest.predicate = r => r.Areaid == PointDefineRequest.AreaId; response.Data = _b_DefCacheService.Get(rdergetrequest).Data; return(response); }