示例#1
0
 public void Update()
 {
     CascadeViewModels?.ForEach((model => model.Update()));
     SignalViewModels?.ForEach((model => model.Update()));
     IndicatorViewModels?.ForEach((model => model.Update()));
 }
        /// <summary>
        /// Returns the Views for the ID and/or group type.
        /// TODO: Implement Username
        /// </summary>
        /// <param name="deviceID"></param>
        /// <param name="groupType"></param>
        /// <returns></returns>
        public SignalViewModels Get([FromUri] string deviceID, [FromUri] string groupType = null)
        {
            SignalViewModels returnObjs = new SignalViewModels();
            //returnObjs.UserName = RequestContext.Principal.Identity.Name;
            string filter = string.Empty;

            if (!string.IsNullOrWhiteSpace(groupType))
            {
                filter = ", @TypeIDByValue = '" + groupType + "'";
            }
            string query = "EXEC rGetSignalViewByDevice @DeviceID = '" + deviceID + "'" + filter;

            using (DataTable tblData = sqlObject.QuerySQL(query, ref sqlStatus))
            {
                if (tblData != null && tblData.Rows.Count > 0)
                {
                    foreach (DataRow item in tblData.Rows)
                    {
                        SignalViewModel newObj = new SignalViewModel();
                        newObj.SignalID           = item["SignalID"].ToString();
                        newObj.InputSource        = item["InputSource"].ToString();
                        newObj.OutputSource       = item["OutputSource"].ToString();
                        newObj.TagName            = item["TagName"].ToString();
                        newObj.DisplayName        = item["DisplayName"].ToString();
                        newObj.ViewDisplayName    = item["ViewDisplayName"].ToString();
                        newObj.TimeStamp          = item["TimeStamp"].ToString();
                        newObj.RawValue           = item["RawValue"].ToString();
                        newObj.Source             = item["Source"].ToString();
                        newObj.Enabled            = item["Enabled"].ToString();
                        newObj.ItemDataType       = item["ItemDataType"].ToString();
                        newObj.CommChannel        = item["CommChannel"].ToString();
                        newObj.EnableScaling      = item["EnableScaling"].ToString();
                        newObj.EU_Min             = item["EU_Min"].ToString();
                        newObj.EU_Max             = item["EU_Max"].ToString();
                        newObj.RawMin             = item["RawMin"].ToString();
                        newObj.RawMax             = item["RawMax"].ToString();
                        newObj.MinValue           = item["MinValue"].ToString();
                        newObj.MaxValue           = item["MaxValue"].ToString();
                        newObj.Precision          = item["Precision"].ToString();
                        newObj.Quality            = item["Quality"].ToString();
                        newObj.Units              = item["Units"].ToString();
                        newObj.WriteSecurityLevel = item["WriteSecurityLevel"].ToString();
                        newObj.EnumLookupValue    = item["EnumLookupValue"].ToString();
                        if (!string.IsNullOrWhiteSpace(newObj.EnumLookupValue))
                        {
                            query = "SELECT Value, Text FROM cfgTblIdentifiers WHERE ID_Type = '" + newObj.EnumLookupValue + "'";
                            DataTable tblEnums = sqlObject.QuerySQL(query, ref sqlStatus);
                            if (tblEnums != null && tblEnums.Rows.Count > 0)
                            {
                                foreach (DataRow dRow in tblEnums.Rows)
                                {
                                    newObj.EnumValues.Add(new EnumVal(dRow["Value"].ToString().ToLower(), dRow["Text"].ToString()));
                                }
                            }
                        }
                        returnObjs.SignalViews.Add(newObj);
                    }
                }
            }
            return(returnObjs);
        }