コード例 #1
0
        private static deviceDescriptionType BuildDeviceDescription(flm_GetFacilityDeviceListResult currentDevice, ArrayList versionInformation)
        {
            deviceDescriptionType deviceDescription = new deviceDescriptionType();

            deviceDescription.DeviceIdentifier = new deviceIdentifierPolyType();
            deviceDescription.DeviceIdentifier.idtype = new deviceIdentifierPolyTypeIdtype();
            deviceDescription.DeviceIdentifier.idtype = deviceIdentifierPolyTypeIdtype.DeviceUID;
            deviceDescription.DeviceIdentifier.Value = "urn:uid:" + Guid.Empty;
            deviceDescription.DeviceTypeID = new deviceTypeType();
            deviceDescription.DeviceTypeID.scope = "http://www.dcipllc.com/schemas/430-7/2009/FLM#deviceTypes";
            if (null == currentDevice.FLM_DeviceType)
                deviceDescription.DeviceTypeID.Value = "Other";
            else
                deviceDescription.DeviceTypeID.Value = currentDevice.FLM_DeviceType;
            deviceDescription.DeviceSerial = currentDevice.Serial_Number;
            if (null == currentDevice.Manufacturer_UniqueIdentifier)
                deviceDescription.ManufacturerID = "urn:uid:" + Guid.Empty;
            else
                deviceDescription.ManufacturerID = "urn:uid:" + currentDevice.Manufacturer_UniqueIdentifier.ToString();
            deviceDescription.ManufacturerName = currentDevice.Manufacturer;
            deviceDescription.ModelNumber = currentDevice.Model;

            deviceDescription.VersionInfo = new versionInfoListType();
            deviceDescription.VersionInfo.Items = new string[versionInformation.Count * 2];
            deviceDescription.VersionInfo.ItemsElementName = new ItemsChoiceType[versionInformation.Count * 2];
            int indexVersion = 0;
            foreach (versionInfoListType versionInfo in versionInformation)
            {
                if (versionInfo.Items[0].CompareTo("DeviceIdentifier") == 0)
                {
                    deviceDescription.DeviceIdentifier.Value = "urn:uid:" + versionInfo.Items[indexVersion];
                }
                else
                {
                    deviceDescription.VersionInfo.Items[indexVersion] = versionInfo.Items[0];
                    deviceDescription.VersionInfo.ItemsElementName[indexVersion] = versionInfo.ItemsElementName[0];
                    deviceDescription.VersionInfo.Items[indexVersion + 1] = versionInfo.Items[1];
                    deviceDescription.VersionInfo.ItemsElementName[indexVersion + 1] = versionInfo.ItemsElementName[1];
                }
                indexVersion += 2;
            }

            return deviceDescription;
        }
コード例 #2
0
        private static DeviceType BuildDeviceType(flm_GetFacilityDeviceListResult currentDevice, ArrayList versionInformation, ArrayList ipAddresses)
        {
            DeviceType deviceType = new DeviceType();

            deviceType.DeviceDescription = BuildDeviceDescription(currentDevice, versionInformation);

            if (ipAddresses.Count > 0)
            {
                deviceType.IPAddressList = new DeviceTypeIPAddressList();
                deviceType.IPAddressList.IPAddress = new IPAddressType[ipAddresses.Count];
                int index = 0;
                foreach (IPAddressType ipAddressGiven in ipAddresses)
                {
                    deviceType.IPAddressList.IPAddress[index] = new IPAddressType();
                    deviceType.IPAddressList.IPAddress[index].Address = ipAddressGiven.Address;
                    index++;
                }
            }

            if(currentDevice.Installed_Date.HasValue)
                deviceType.InstallDate = currentDevice.Installed_Date.Value;

            if (null == currentDevice.Decommission_Date)
            {
                if (null == currentDevice.Acceptance_Date)
                    deviceType.IsActive = false;
                else
                    deviceType.IsActive = true;
            }
            else
            {
                if(currentDevice.Decommission_Date.HasValue)
                    deviceType.DecommissionDate = currentDevice.Decommission_Date.Value;

                deviceType.IsActive = false;
            }

            return deviceType;
        }
コード例 #3
0
        private static bool AddDeviceInfoType(ArrayList versionInformation, ArrayList ipAddresses, flm_GetFacilityDeviceListResult device)
        {
            bool ValidVersionInfo = false;

            if ((null != device.Equipment_Attribute_Name) && // make sure the attribute is complete
                (device.Equipment_Attribute_Name.Length > 0) &&
                (null != device.Attribute_Value) &&
                (device.Attribute_Value.Length > 0))
            {
                if ((device.Equipment_Attribute_Name == "Hardware_Version") || // make sure it something we want
                    (device.Equipment_Attribute_Name == "Software_Version") ||
                    (device.Equipment_Attribute_Name == "Firmware_Version"))
                {
                    versionInfoListType infoType = new versionInfoListType();

                    infoType.ItemsElementName = new ItemsChoiceType[2];
                    infoType.ItemsElementName[0] = ItemsChoiceType.Name;
                    infoType.ItemsElementName[1] = ItemsChoiceType.Value;

                    infoType.Items = new string[2];
                    infoType.Items[0] = device.Equipment_Attribute_Name;
                    infoType.Items[1] = device.Attribute_Value;

                    ValidVersionInfo = true;
                    versionInformation.Add(infoType);
                }

                if (device.Equipment_Attribute_Name == "IP_Address") // make sure it something we want
                {
                    IPAddressType ipAddress = new IPAddressType();
                    ipAddress.Address = device.Attribute_Value;

                    ipAddresses.Add(ipAddress);
                }

            }

            return ValidVersionInfo;
        }