private reading GetReading(CnlDataExt data, DateTime time) { return(new reading { channel = data.CnlNum, date = time, value = data.Val, status = data.Stat, text = data.Text, textandunit = data.TextWithUnit, color = data.Color }); }
/// <summary> /// Создать и заполнить массив расширенных данных входных каналов /// </summary> private CnlDataExt[] CreateCnlDataExtArr(IList <int> cnlList, SrezTableLight.Srez snapshot, bool dataVisible, string emptyVal) { DataAccess dataAccess = AppData.DataAccess; int cnlCnt = cnlList == null ? 0 : cnlList.Count; CnlDataExt[] cnlDataExtArr = new CnlDataExt[cnlCnt]; for (int i = 0; i < cnlCnt; i++) { int cnlNum = cnlList[i]; CnlDataExt cnlDataExt = new CnlDataExt(cnlNum); cnlDataExtArr[i] = cnlDataExt; if (dataVisible) { double val; int stat; snapshot.GetCnlData(cnlNum, out val, out stat); if (!double.IsNaN(val)) { cnlDataExt.Val = val; cnlDataExt.Stat = stat; } InCnlProps cnlProps = dataAccess.GetCnlProps(cnlNum); string text; string textWithUnit; DataFormatter.FormatCnlVal(val, stat, cnlProps, out text, out textWithUnit); cnlDataExt.Text = text; cnlDataExt.TextWithUnit = textWithUnit; CnlStatProps cnlStatProps = dataAccess.GetCnlStatProps(stat); cnlDataExt.Color = DataFormatter.GetCnlValColor(val, stat, cnlProps, cnlStatProps); } else { cnlDataExt.Text = cnlDataExt.TextWithUnit = emptyVal; } } return(cnlDataExtArr); }