/// <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); }
/// <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)); }