/// <summary> /// 批量添加 /// </summary> /// <param name="NetworkModuleRequest"></param> /// <returns></returns> public BasicResponse AddNetworkModules(NetworkModulesRequest NetworkModuleRequest) { BasicResponse Result = new BasicResponse(); List <Jc_MacInfo> items = NetworkModuleRequest.NetworkModulesInfo; List <Jc_MacInfo> NetworkModuleCaches = new List <Jc_MacInfo>(); Jc_MacInfo olditem = null; NetworkModuleCacheGetAllRequest NetworkModuleCacheRequest = new NetworkModuleCacheGetAllRequest(); var result = _NetworkModuleCacheService.GetAllNetworkModuleCache(NetworkModuleCacheRequest); NetworkModuleCaches = result.Data; foreach (Jc_MacInfo item in items) { olditem = NetworkModuleCaches.Find(a => a.MAC == item.MAC); //增加重复判断 if (olditem != null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前添加列表中的数据在数据库中已经存在!"; return(Result); } } //向网关同步数据 List <Jc_MacInfo> SendItemList = items; var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } TransactionsManager.BeginTransaction(() => { foreach (Jc_MacInfo item in items) { item.IsMemoryData = false; //保存数据库 var _jc_Mac = ObjectConverter.Copy <Jc_MacInfo, Jc_MacModel>(item); //保存数据库不存连接号 20170713 _jc_Mac.NetID = 0; var resultjc_Def = _Repository.AddNetworkModule(_jc_Mac); } //添加到缓存 NetworkModuleCacheBatchAddRequest BatchAddNetworkModuleCacheRequest = new NetworkModuleCacheBatchAddRequest(); BatchAddNetworkModuleCacheRequest.NetworkModuleInfos = items; _NetworkModuleCacheService.BacthAddNetworkModuleCache(BatchAddNetworkModuleCacheRequest); }); return(Result); }
/// <summary> /// 获取所有网络模块数据(JC_MAC) /// </summary> /// <returns></returns> public static List <Jc_MacInfo> GetAllMacItems() { List <Jc_MacInfo> macItems = new List <Jc_MacInfo>(); var defResponse = networkModuleCacheService.GetAllNetworkModuleCache(new NetworkModuleCacheGetAllRequest()); if (defResponse.IsSuccess) { macItems = defResponse.Data; } return(macItems); }
/// <summary> /// 在缓存中获取所有交换机 /// </summary> /// <returns></returns> public BasicResponse <List <Jc_MacInfo> > GetSwitchInformationInCache() { var response = new BasicResponse <List <Jc_MacInfo> >(); try { var networkModuleCacheGetAllRequest = new NetworkModuleCacheGetAllRequest(); var networkModuleCacheGetAllResponse = networkModuleCacheService.GetAllNetworkModuleCache(networkModuleCacheGetAllRequest); if (networkModuleCacheGetAllResponse.Data != null) { response.Data = networkModuleCacheGetAllResponse.Data; } } catch (Exception ex) { response.Code = -100; response.Message = ex.Message; this.ThrowException("GetSwitchInformationInCache-在缓存中获取所有交换机", ex);; } return(response); }