Exemplo n.º 1
0
        public static IList <AttributeAndDeviceItem> GetValueAndDeviceItemsWithAttribute(DeviceItemComposition aDeviceItems, string aAttributeName)
        {
            List <AttributeAndDeviceItem>  returnDeviceItems = new List <AttributeAndDeviceItem>();
            IList <AttributeAndDeviceItem> addDeviceItems;

            if (aDeviceItems != null)
            {
                foreach (DeviceItem currentDeviceItem in aDeviceItems)
                {
                    try
                    {
                        object attributeValue          = currentDeviceItem.GetAttribute(aAttributeName);
                        AttributeAndDeviceItem newItem = new AttributeAndDeviceItem();
                        newItem.Name       = aAttributeName;
                        newItem.Value      = attributeValue;
                        newItem.DeviceItem = currentDeviceItem;
                        returnDeviceItems.Add(newItem);
                    }
                    catch (EngineeringNotSupportedException)
                    {
                    }
                    catch (Exception ex)
                    {
                        Program.FaultMessage("Could not get Attribute", ex, "Service.GetValueAndDeviceItemsWithAttribute");
                    }

                    //check sub DeviceItems - recursive
                    addDeviceItems = GetValueAndDeviceItemsWithAttribute(currentDeviceItem.DeviceItems, aAttributeName);
                    returnDeviceItems.AddRange(addDeviceItems);
                }
            }
            return(returnDeviceItems);
        }
Exemplo n.º 2
0
        public static AttributeAndDeviceItem Get1ValueAndDeviceItemWithAttribute(DeviceItemComposition aDeviceItems, string aAttributeName)
        {
            AttributeAndDeviceItem returnDeviceItem;


            if (aDeviceItems != null)
            {
                foreach (DeviceItem currentDeviceItem in aDeviceItems)
                {
                    try
                    {
                        object attributeValue = currentDeviceItem.GetAttribute(aAttributeName);
                        returnDeviceItem            = new AttributeAndDeviceItem();
                        returnDeviceItem.Name       = aAttributeName;
                        returnDeviceItem.Value      = attributeValue;
                        returnDeviceItem.DeviceItem = currentDeviceItem;
                        return(returnDeviceItem);
                    }
                    catch (EngineeringNotSupportedException)
                    {
                    }
                    catch (Exception ex)
                    {
                        Program.FaultMessage("Could not get Attribute", ex, "Service.Get1ValueAndDeviceItemWithAttribute");
                    }

                    //check sub DeviceItems - recursive
                    returnDeviceItem = Get1ValueAndDeviceItemWithAttribute(currentDeviceItem.DeviceItems, aAttributeName);

                    if (returnDeviceItem != null)
                    {
                        return(returnDeviceItem);
                    }
                }
            }
            return(null);
        }