Ejemplo n.º 1
0
        private void RefreshStationState_1(CEntityRealTime entity)
        {
            List <CEntityStation> stationList_1 = CDBDataMgr.Instance.GetAllStation();
            int?subcenterid = 0;

            for (int i = 0; i < stationList_1.Count; i++)
            {
                if (entity.StrStationID == stationList_1[i].StationID)
                {
                    subcenterid = stationList_1[i].SubCenterID;
                }
            }
            Nullable <DateTime> time = CDBDataMgr.Instance.GetStationLastDateTime(entity.StrStationID);

            CListViewStationState.EStationState state = CListViewStationState.EStationState.EError;
            if (time.HasValue)
            {
                // 计算状态
                state = GetStationStateByTime(time.Value);
                (m_lvStationStateAllPage.ListView as CListViewStationState).UpdateStationState(entity.StrStationID, state);
                if (m_mapSubCenterPage.ContainsKey(subcenterid.Value))
                {
                    (m_mapSubCenterPage[subcenterid.Value].ListView as CListViewStationState).UpdateStationState(entity.StrStationID, state);
                }
            }
            else
            {
                // 没有数据红色
                (m_lvStationStateAllPage.ListView as CListViewStationState).UpdateStationState(entity.StrStationID, state);

                if (m_mapSubCenterPage.ContainsKey(subcenterid.Value))
                {
                    (m_mapSubCenterPage[subcenterid.Value].ListView as CListViewStationState).UpdateStationState(entity.StrStationID, state);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 刷新站点状态,根据实时数据
        /// </summary>
        private void RefreshStationState()
        {
            List <CEntityStation> stationList = CDBDataMgr.Instance.GetAllStation();

            foreach (CEntityStation station in stationList)
            {
                Nullable <DateTime> time = CDBDataMgr.Instance.GetStationLastDateTime(station.StationID);
                CListViewStationState.EStationState state = CListViewStationState.EStationState.EError;
                if (time.HasValue)
                {
                    // 计算状态
                    state = GetStationStateByTime(time.Value);
                    (m_lvStationStateAllPage.ListView as CListViewStationState).UpdateStationState(station.StationID, state);
                    if (m_mapSubCenterPage.ContainsKey(station.SubCenterID.Value))
                    {
                        (m_mapSubCenterPage[station.SubCenterID.Value].ListView as CListViewStationState).UpdateStationState(station.StationID, state);
                    }
                }
                else
                {
                    // 没有数据红色
                    (m_lvStationStateAllPage.ListView as CListViewStationState).UpdateStationState(station.StationID, state);
                    if (m_mapSubCenterPage.ContainsKey(station.SubCenterID.Value))
                    {
                        (m_mapSubCenterPage[station.SubCenterID.Value].ListView as CListViewStationState).UpdateStationState(station.StationID, state);
                    }
                }
            }// end of for

            // 更新到界面
            (m_lvStationStateAllPage.ListView as CListViewStationState).RefreshUI();
            foreach (KeyValuePair <int, CListViewTabPage> entity in m_mapSubCenterPage)
            {
                (entity.Value.ListView as CListViewStationState).RefreshUI();
            }
        }