Ejemplo n.º 1
0
 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
     });
 }
Ejemplo n.º 2
0
        /// <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);
        }