/// <summary> /// 向网关同步数据 /// </summary> /// <param name="SendItemList"></param> /// <returns></returns> private bool SynchronousDataToGateway(List <AreaInfo> SendItemList) { foreach (AreaInfo areaInfo in SendItemList) { PartitionControlRequest partitionControlRequest = new PartitionControlRequest(); if (string.IsNullOrEmpty(areaInfo.Areadescribe)) { partitionControlRequest.zoneId = "";//分区标识 } else { partitionControlRequest.zoneId = areaInfo.Areadescribe; //分区标识 } partitionControlRequest.paTaskDN = ""; //分区广播接入号码[暂未使用] partitionControlRequest.zoneName = areaInfo.Areaname; //分区名称 partitionControlRequest.almLinkUdn1 = ""; //分区报警联动用户号码列表[暂未使用] partitionControlRequest.almLinkUdn2 = ""; //分区报警联动用户号码列表[暂未使用] partitionControlRequest.almLinkUdn3 = ""; //分区报警联动用户号码列表[暂未使用] partitionControlRequest.InfoState = areaInfo.InfoState; //调用RPC发送 MasProtocol masProtocol = new MasProtocol(SystemType.Broadcast, DirectionType.Down, ProtocolType.PartitionControlRequest); masProtocol.Protocol = partitionControlRequest; PartitionControlResponse result = RpcService.Send <PartitionControlResponse>(masProtocol, RequestType.BusinessRequest); if (result == null && result.retCode != "0") { Basic.Framework.Logging.LogHelper.Error("向网关同步广播分区信息失败!,分区名称:" + areaInfo.Areaname); return(false); } else { //将返回的分区标识更新到缓存及数据库 20180103 areaInfo.Areadescribe = result.zoneId; //更新数据库 var _area = ObjectConverter.Copy <AreaInfo, AreaModel>(areaInfo); _Repository.UpdateArea(_area); //更新区域缓存 20171128 AreaCacheUpdateRequest AreaCacheUpdateRequest = new AreaCacheUpdateRequest(); AreaCacheUpdateRequest.AreaInfo = areaInfo; _AreaCacheService.UpdateAreaCache(AreaCacheUpdateRequest); } } return(true); }
/// <summary> /// 删除分区 /// </summary> /// <param name="masProtocol"></param> /// <returns></returns> public static RpcResponse delZone(PartitionControlRequest request) { PartitionControlResponse response = BroadCastControllerProxy.broadCastControllerProxy.delZone(request); return(RpcResponse.Response <PartitionControlResponse>(response)); }