예제 #1
0
        /// <summary>
        /// Gets the current data without formatting.
        /// </summary>
        public Dto <IEnumerable <CurDataPoint> > GetCurData(IdList cnlNums)
        {
            try
            {
                CheckAccessRights(cnlNums);
                int            cnlCnt     = cnlNums == null ? 0 : cnlNums.Count;
                CurDataPoint[] dataPoints = new CurDataPoint[cnlCnt];

                if (cnlCnt > 0)
                {
                    CnlData[] cnlData = clientAccessor.ScadaClient.GetCurrentData(cnlNums.ToArray(), false, out _);

                    for (int i = 0, cnt = cnlNums.Count; i < cnt; i++)
                    {
                        dataPoints[i] = new CurDataPoint(cnlNums[i], cnlData[i]);
                    }
                }

                return(Dto <IEnumerable <CurDataPoint> > .Success(dataPoints));
            }
            catch (AccessDeniedException ex)
            {
                return(Dto <IEnumerable <CurDataPoint> > .Fail(ex.Message));
            }
            catch (Exception ex)
            {
                webContext.Log.WriteError(ex.BuildErrorMessage(WebPhrases.ErrorInWebApi, nameof(GetCurData)));
                return(Dto <IEnumerable <CurDataPoint> > .Fail(ex.Message));
            }
        }
예제 #2
0
 void ItemManager_IdListUpdated(IdList itemIds)
 {
     _updateControl(() => comboBoxItemIds.DataSource = itemIds.ToArray());
 }