public BasicResponse <Jc_DevInfo> GetPointDefineCacheByKey(DeviceDefineCacheGetByKeyRequest deviceDefineCacheRequest) { var deviceDefineCache = DeviceDefineCache.DeviceDefineCahceInstance.Query(devdefine => devdefine.Devid == deviceDefineCacheRequest.Devid).FirstOrDefault(); var deviceDefineCacheResponse = new BasicResponse <Jc_DevInfo>(); deviceDefineCacheResponse.Data = deviceDefineCache; return(deviceDefineCacheResponse); }
/// <summary> /// 根据DevId获取设备类型 /// </summary> /// <param name="DeviceDefineRequest"></param> /// <returns></returns> public BasicResponse <Jc_DevInfo> GetDeviceDefineCacheByDevId(DeviceDefineGetByDevIdRequest DeviceDefineRequest) { BasicResponse <Jc_DevInfo> Result = new BasicResponse <Jc_DevInfo>(); DeviceDefineCacheGetByKeyRequest DeviceDefineCacheRequest = new DeviceDefineCacheGetByKeyRequest(); DeviceDefineCacheRequest.Devid = DeviceDefineRequest.DevId; var result = _DeviceDefineCacheService.GetPointDefineCacheByKey(DeviceDefineCacheRequest); Result.Data = result.Data; return(Result); }
/// <summary> /// 删除设备类型 /// </summary> /// <param name="jc_Devrequest"></param> /// <returns></returns> public BasicResponse DeleteDeviceDefine(DeviceDefineDeleteRequest DeviceDefineRequest) { BasicResponse Result = new BasicResponse(); //重复判断 DeviceDefineCacheGetByKeyRequest DeviceDefineCacheRequest = new DeviceDefineCacheGetByKeyRequest(); DeviceDefineCacheRequest.Devid = DeviceDefineRequest.Id; var result = _DeviceDefineCacheService.GetPointDefineCacheByKey(DeviceDefineCacheRequest); if (result.Data == null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前删除的设备类型不存在!"; return(Result); } //向网关同步数据 Jc_DevInfo DeleteDevInfo = result.Data; DeleteDevInfo.InfoState = InfoState.Delete; List <Jc_DevInfo> SendItemList = new List <Jc_DevInfo>(); SendItemList.Add(DeleteDevInfo); var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } //保存数据库 _Repository.DeleteDeviceDefine(DeleteDevInfo.ID); //更新缓存 DeviceDefineCacheDeleteRequest deviceDefineCacheRequest = new DeviceDefineCacheDeleteRequest(); deviceDefineCacheRequest.DeviceDefineInfo = DeleteDevInfo; _DeviceDefineCacheService.DeletePointDefineCache(deviceDefineCacheRequest); return(Result); }
/// <summary> /// 更新设备类型 /// </summary> /// <param name="jc_Devrequest"></param> /// <returns></returns> public BasicResponse UpdateDeviceDefine(DeviceDefineUpdateRequest DeviceDefineRequest) { BasicResponse Result = new BasicResponse(); Jc_DevInfo item = DeviceDefineRequest.Jc_DevInfo; //重复判断 DeviceDefineCacheGetByKeyRequest DeviceDefineCacheRequest = new DeviceDefineCacheGetByKeyRequest(); DeviceDefineCacheRequest.Devid = item.Devid; var result = _DeviceDefineCacheService.GetPointDefineCacheByKey(DeviceDefineCacheRequest); if (result.Data == null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前更新的设备类型不存在!"; return(Result); } //向网关同步数据 List <Jc_DevInfo> SendItemList = new List <Jc_DevInfo>(); SendItemList.Add(item); var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } //保存数据库 var _jc_Dev = ObjectConverter.Copy <Jc_DevInfo, Jc_DevModel>(DeviceDefineRequest.Jc_DevInfo); _Repository.UpdateDeviceDefine(_jc_Dev); //更新缓存 DeviceDefineCacheUpdateRequest deviceDefineCacheRequest = new DeviceDefineCacheUpdateRequest(); deviceDefineCacheRequest.DeviceDefineInfo = item; _DeviceDefineCacheService.UpdatePointDefineCahce(deviceDefineCacheRequest); return(Result); }