示例#1
0
        public static List <OnTimeEntity> GetTruList(int uId, List <string> stationList)
        {
            TruList             tList      = new TruList();
            List <OnTimeEntity> onTimeList = new List <OnTimeEntity>();
            var options = new List <ChannelOption> {
                new ChannelOption(ChannelOptions.MaxReceiveMessageLength, int.MaxValue)
            };
            var channel = new Channel(Conf.Config.DB_SERVER_IP, ChannelCredentials.Insecure, options);
            var client  = new BatchService(new gRPCServices.gRPCServicesClient(channel));

            tList = client.GetTruMsg(stationList);

            if (StationHelper.stationInfoList == null || StationHelper.stationInfoList.Count == 0)
            {
                StationHelper.getStationInfoList();
            }
            for (int i = 0; i < tList.TruData.Count; i++)
            {
                string id    = tList.TruData[i].StationId;
                string state = "正在对时";
                bool   tru   = false;
                if (tList.TruData[i].Tru == true)
                {
                    tru = tList.TruData[i].Tru;
                }
                if (tru)
                {
                    state = "√";
                }
                else
                {
                    state = "对时失败";
                }
                onTimeList.Add(new OnTimeEntity
                {
                    id          = id,
                    stationId   = StationHelper.stationInfoDic4[id].stationId,
                    stationName = StationHelper.stationInfoDic4[id].stationName,
                    state       = state
                });
            }

            channel.ShutdownAsync().Wait();
            client.StopGrpcClient();
            return(onTimeList);
        }
示例#2
0
        public TruList BatchTime(StationList list)
        {
            CProtocolEventManager.DownForTru += BatchForTru_EventHandler;
            truReturnList = new List <string>();
            TruList truList = new TruList();

            m_timer_1.Start();

            foreach (var id in list.Ids)
            {
                CEntityStation station = CDBDataMgr.Instance.GetStationById(id);
                CPortDataMgr.Instance.SendAdjustClock(station);
            }


            while (true)
            {
                // 等待
                if (timeDown_1)
                {
                    foreach (var id in list.Ids)
                    {
                        if (this.truReturnList.Contains(id))
                        {
                            truList.TruData.Add(new TruData()
                            {
                                StationId = id, Tru = true
                            });
                        }
                        else
                        {
                            truList.TruData.Add(new TruData()
                            {
                                StationId = id, Tru = false
                            });
                        }
                    }
                    break;
                }
            }

            m_timer_1.Stop();
            CProtocolEventManager.DownForTru -= DownForTru_EventHandler;
            return(truList);
        }
示例#3
0
        public TruList GetTruMsg(List <string> stationList)
        {
            try
            {
                StationList request = new StationList();

                foreach (var v in stationList)
                {
                    request.Ids.Add(v);
                }

                TruList info = grpcClient.BatchTime(request);

                return(info);
            }
            catch (Exception exp)
            {
                Debug.WriteLine("RPC failed" + exp);
                throw;
            }
        }