public BasicResponse <Jc_MacInfo> GetNetworkModuleCacheByKey(NetworkModuleCacheGetByKeyRequest networkModuleCacheRequest)
        {
            var networkModuleCache         = NetworkModuleCache.NetworModuleCahceInstance.Query(networkModule => networkModule.MAC == networkModuleCacheRequest.Mac).FirstOrDefault();
            var networkModuleCacheResponse = new BasicResponse <Jc_MacInfo>();

            networkModuleCacheResponse.Data = networkModuleCache;
            return(networkModuleCacheResponse);
        }
        /// <summary>
        /// 删除网络模块
        /// </summary>
        /// <param name="NetworkModuleRequest"></param>
        /// <returns></returns>
        public BasicResponse DeleteNetworkModule(NetworkModuleDeleteByMacRequest NetworkModuleRequest)
        {
            BasicResponse Result = new BasicResponse();

            //重复判断
            NetworkModuleCacheGetByKeyRequest networkModuleCacheRequest = new NetworkModuleCacheGetByKeyRequest();

            networkModuleCacheRequest.Mac = NetworkModuleRequest.Mac;
            var        result  = _NetworkModuleCacheService.GetNetworkModuleCacheByKey(networkModuleCacheRequest);
            Jc_MacInfo OldItem = result.Data;

            if (result.Data == null)
            {
                //缓存中存在此测点
                Result.Code    = 1;
                Result.Message = "当前删除的网络模块不存在!";
                return(Result);
            }

            OldItem.InfoState = InfoState.Delete;

            //保存数据库
            if (!OldItem.IsMemoryData)
            {
                //向网关同步数据
                List <Jc_MacInfo> SendItemList = new List <Jc_MacInfo>();
                SendItemList.Add(OldItem);
                var resultSync = SynchronousDataToGateway(SendItemList);
                if (!resultSync)
                {
                    Result.Code    = 1;
                    Result.Message = "向网关同步数据失败!";
                    return(Result);
                }

                _Repository.DeleteNetworkModule(OldItem.ID);
            }

            //更新缓存
            NetworkModuleCacheDeleteRequest DeleteNetworkModuleCacheRequest = new NetworkModuleCacheDeleteRequest();

            DeleteNetworkModuleCacheRequest.NetworkModuleInfo = OldItem;
            _NetworkModuleCacheService.DeleteNetworkModuleCache(DeleteNetworkModuleCacheRequest);

            return(Result);
        }
        /// <summary>
        /// 添加网络模块
        /// </summary>
        /// <param name="NetworkModuleRequest"></param>
        /// <returns></returns>
        public BasicResponse AddNetworkModule(NetworkModuleAddRequest NetworkModuleRequest)
        {
            BasicResponse Result = new BasicResponse();
            Jc_MacInfo    item   = NetworkModuleRequest.NetworkModuleInfo;

            //重复判断
            NetworkModuleCacheGetByKeyRequest networkModuleCacheRequest = new NetworkModuleCacheGetByKeyRequest();

            networkModuleCacheRequest.Mac = item.MAC;
            var        result  = _NetworkModuleCacheService.GetNetworkModuleCacheByKey(networkModuleCacheRequest);
            Jc_MacInfo OldItem = result.Data;

            if (result.Data != null)
            {
                //缓存中存在此测点
                Result.Code    = 1;
                Result.Message = "当前添加的网络模块已存在!";
                return(Result);
            }

            //重置内存状态标记,因为搜索的时候,只保存了内存   20170410
            //if (OldItem != null)
            //{
            //    if (OldItem.IsMemoryData)//如果内存中存在数据,则重置添加、修改标记  20170415
            //    {
            //        if (OldItem.InfoState == InfoState.AddNew)
            //        {
            //            if (item.InfoState == InfoState.Modified)
            //            {
            //                item.InfoState = InfoState.AddNew;
            //            }
            //        }
            //        if (OldItem.InfoState == InfoState.Delete)
            //        {
            //            if (item.InfoState == InfoState.AddNew)
            //            {
            //                item.InfoState = InfoState.Modified;
            //            }
            //        }
            //        item.IsMemoryData = false;//置完标记后,将内存数据变成非内存数据标记  20170415
            //    }
            //}
            item.IsMemoryData = false;//置完标记后,将内存数据变成非内存数据标记  20170415

            //向网关同步数据
            List <Jc_MacInfo> SendItemList = new List <Jc_MacInfo>();

            SendItemList.Add(item);
            var resultSync = SynchronousDataToGateway(SendItemList);

            if (!resultSync)
            {
                Result.Code    = 1;
                Result.Message = "向网关同步数据失败!";
                return(Result);
            }

            //保存数据库
            var _jc_Mac = ObjectConverter.Copy <Jc_MacInfo, Jc_MacModel>(item);

            //保存数据库不存连接号  20170713
            _jc_Mac.NetID = 0;
            var resultjc_Mac = _Repository.AddNetworkModule(_jc_Mac);

            //更新缓存
            NetworkModuleCacheAddRequest AddNetworkModuleCacheRequest = new NetworkModuleCacheAddRequest();

            AddNetworkModuleCacheRequest.NetworkModuleInfo = item;
            _NetworkModuleCacheService.AddNetworkModuleCache(AddNetworkModuleCacheRequest);

            return(Result);
        }
        /// <summary>
        /// 更新网络模块
        /// </summary>
        /// <param name="NetworkModuleRequest"></param>
        /// <returns></returns>
        public BasicResponse UpdateNetworkModule(NetworkModuleUpdateRequest NetworkModuleRequest)
        {
            BasicResponse Result = new BasicResponse();
            Jc_MacInfo    item   = NetworkModuleRequest.NetworkModuleInfo;

            //重复判断
            NetworkModuleCacheGetByKeyRequest networkModuleCacheRequest = new NetworkModuleCacheGetByKeyRequest();

            networkModuleCacheRequest.Mac = item.MAC;
            var        result  = _NetworkModuleCacheService.GetNetworkModuleCacheByKey(networkModuleCacheRequest);
            Jc_MacInfo OldItem = result.Data;

            if (result.Data == null)
            {
                //缓存中存在此测点
                Result.Code    = 1;
                Result.Message = "当前更新的网络模块不存在!";
                return(Result);
            }

            //重置内存状态标记,因为搜索的时候,只保存了内存   20170410
            if (OldItem != null)
            {
                if (OldItem.IsMemoryData)//如果内存中存在数据,则重置添加、修改标记  20170415
                {
                    if (OldItem.InfoState == InfoState.AddNew)
                    {
                        if (item.InfoState == InfoState.Modified)
                        {
                            item.InfoState = InfoState.AddNew;
                        }
                    }
                    if (OldItem.InfoState == InfoState.Delete)
                    {
                        if (item.InfoState == InfoState.AddNew)
                        {
                            item.InfoState = InfoState.Modified;
                        }
                    }
                    item.IsMemoryData = false;//置完标记后,将内存数据变成非内存数据标记  20170415
                }
            }

            //item.IsMemoryData = false;//置完标记后,将内存数据变成非内存数据标记  20170415

            if (item.InfoState == InfoState.AddNew)
            {
                //向网关同步数据
                List <Jc_MacInfo> SendItemList = new List <Jc_MacInfo>();
                SendItemList.Add(item);
                var resultSync = SynchronousDataToGateway(SendItemList);
                if (!resultSync)
                {
                    Result.Code    = 1;
                    Result.Message = "向网关同步数据失败!";
                    return(Result);
                }

                //保存数据库
                var _jc_Mac = ObjectConverter.Copy <Jc_MacInfo, Jc_MacModel>(item);
                _Repository.AddNetworkModule(_jc_Mac);
            }
            else
            {
                //向网关同步数据
                List <Jc_MacInfo> SendItemList = new List <Jc_MacInfo>();
                SendItemList.Add(item);
                var resultSync = SynchronousDataToGateway(SendItemList);
                if (!resultSync)
                {
                    Result.Code    = 1;
                    Result.Message = "向网关同步数据失败!";
                    return(Result);
                }

                //保存数据库
                var _jc_Mac = ObjectConverter.Copy <Jc_MacInfo, Jc_MacModel>(item);
                _Repository.UpdateNetworkModule(_jc_Mac);
            }

            //更新缓存
            UpdateNetworkModuleCacheByProperty(item);

            return(Result);
        }