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; }
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; }
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; }