コード例 #1
0
ファイル: ClientApiSvc.cs プロジェクト: xiaomailong/scada
        /// <summary>
        /// Получить расширенные текущие данные входных каналов
        /// </summary>
        private CnlDataExtDTO[] GetCnlDataExtDTOs(IList <int> cnlList)
        {
            int cnlCnt = cnlList.Count;

            CnlDataExtDTO[] cnlDataDTOs = new CnlDataExtDTO[cnlCnt];

            DataAccess dataAccess = AppData.DataAccess;
            DateTime   dataAge;

            SrezTableLight.Srez snapshot = dataAccess.DataCache.GetCurSnapshot(out dataAge);

            string emptyVal    = "";
            bool   dataVisible = snapshot != null &&
                                 DataFormatter.CurDataVisible(dataAge, DateTime.Now, out emptyVal);

            for (int i = 0; i < cnlCnt; i++)
            {
                int           cnlNum     = cnlList[i];
                CnlDataExtDTO cnlDataDTO = new CnlDataExtDTO(cnlNum);
                cnlDataDTOs[i] = cnlDataDTO;

                SrezTableLight.CnlData cnlData;
                snapshot.GetCnlData(cnlNum, out cnlData);
                cnlDataDTO.Val  = cnlData.Val;
                cnlDataDTO.Stat = cnlData.Stat;

                if (dataVisible)
                {
                    InCnlProps cnlProps = dataAccess.GetCnlProps(cnlNum);
                    string     text;
                    string     textWithUnit;
                    DataFormatter.FormatCnlVal(cnlData.Val, cnlData.Stat, cnlProps, out text, out textWithUnit);

                    cnlDataDTO.Text         = text;
                    cnlDataDTO.TextWithUnit = textWithUnit;
                    cnlDataDTO.Color        = DataFormatter.GetCnlValColor(cnlData.Val, cnlData.Stat, cnlProps,
                                                                           dataAccess.GetColorByStat);
                }
                else
                {
                    cnlDataDTO.Text = cnlDataDTO.TextWithUnit = emptyVal;
                }
            }

            return(cnlDataDTOs);
        }
コード例 #2
0
ファイル: ClientApiSvc.cs プロジェクト: hhdang/RapidScada
        /// <summary>
        /// Получить расширенные текущие данные входных каналов
        /// </summary>
        private CnlDataExt[] GetCurCnlDataExtArr(IList <int> cnlList)
        {
            DateTime dataAge;

            SrezTableLight.Srez snapshot = AppData.DataAccess.DataCache.GetCurSnapshot(out dataAge);

            string emptyVal;
            bool   dataVisible = DataFormatter.CurDataVisible(dataAge, DateTime.Now, out emptyVal);

            return(CreateCnlDataExtArr(cnlList, snapshot, dataVisible, emptyVal));
        }