Ejemplo n.º 1
0
        public static bool deleteMac(string mac)
        {
            bool flg = true;

            try
            {
                if (StaticClass.ServerConet)
                {
                    try
                    {
                        var request = new NetworkModuleDeleteByMacRequest()
                        {
                            Mac = mac
                        };
                        var response = jc_MacService.DeleteNetworkModule(request);
                        flg = true;
                    }
                    catch (Exception ex)
                    {
                        XtraMessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        flg = false;
                    }
                }
            }
            catch
            {
                OprFuction.SetServerConct();
            }
            return(flg);
        }
        /// <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);
        }