/// <summary> /// 批量添加 /// </summary> /// <param name="DeviceDefineRequest"></param> /// <returns></returns> public BasicResponse AddDeviceDefines(DeviceDefinesRequest DeviceDefineRequest) { BasicResponse Result = new BasicResponse(); List <Jc_DevInfo> items = DeviceDefineRequest.Jc_DevsInfo; List <Jc_DevInfo> Jc_DevCaches = new List <Jc_DevInfo>(); Jc_DevInfo olditem = null; DeviceDefineCacheGetAllRequest DeviceDefineCacheRequest = new DeviceDefineCacheGetAllRequest(); var result = _DeviceDefineCacheService.GetAllPointDefineCache(DeviceDefineCacheRequest); Jc_DevCaches = result.Data; foreach (Jc_DevInfo item in items) { olditem = Jc_DevCaches.Find(a => a.Devid == item.Devid); //增加重复判断 if (olditem != null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前添加列表中的数据在数据库中已经存在!"; return(Result); } } //向网关同步数据 List <Jc_DevInfo> SendItemList = items; var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } TransactionsManager.BeginTransaction(() => { foreach (Jc_DevInfo item in items) { //保存数据库 var _Jc_Dev = ObjectConverter.Copy <Jc_DevInfo, Jc_DevModel>(item); var resultJc_Dev = _Repository.AddDeviceDefine(_Jc_Dev); } //添加到缓存 DeviceDefineCacheBatchAddRequest BacthAddPointDefineRequest = new DeviceDefineCacheBatchAddRequest(); BacthAddPointDefineRequest.DeviceDefineInfos = items; _DeviceDefineCacheService.BacthAddPointDefineCache(BacthAddPointDefineRequest); }); return(Result); }
public BasicResponse <List <Jc_DevInfo> > GetMasterEquTypeInfoByAssId(LongIdRequest request) { var req3 = new EmergencyLinkageConfigCacheGetAllRequest(); var res3 = _sysEmergencyLinkageCacheService.GetAllSysEmergencyLinkageCache(req3); var linkageInfo = res3.Data.FirstOrDefault(a => a.MasterDevTypeAssId == request.Id.ToString()); var masterDevTypeAss = linkageInfo == null ? new List <EmergencyLinkageMasterDevTypeAssInfo>() : linkageInfo.MasterDevTypes; var req = new DeviceDefineCacheGetAllRequest(); var res = _deviceDefineCacheService.GetAllPointDefineCache(req); if (res.Code != 100) { throw new Exception(res.Message); } var allEquType = res.Data; //var allMasterDevTypeAss = _emergencyLinkageMasterDevTypeAssRepository.Datas.ToList(); var res2 = from a in masterDevTypeAss join b in allEquType on a.DevId equals b.Devid into temp from ab in temp.DefaultIfEmpty() //where a.MasterDevTypeAssId == request.Id.ToString() select ab; var retLis = res2.ToList(); var ret = new BasicResponse <List <Jc_DevInfo> >() { Data = retLis }; return(ret); }
/// <summary> /// 获取所有设备类型dev数据 /// </summary> /// <returns></returns> public static List <Jc_DevInfo> GetAllDevItems() { List <Jc_DevInfo> devItems = new List <Jc_DevInfo>(); var defResponse = deviceDefineCacheService.GetAllPointDefineCache(new DeviceDefineCacheGetAllRequest()); if (defResponse.IsSuccess) { devItems = defResponse.Data; } return(devItems); }