本文整理汇总了C#中FiresecAPI.Models.Device.SynchronizeChildern方法的典型用法代码示例。如果您正苦于以下问题:C# Device.SynchronizeChildern方法的具体用法?C# Device.SynchronizeChildern怎么用?C# Device.SynchronizeChildern使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FiresecAPI.Models.Device
的用法示例。
在下文中一共展示了Device.SynchronizeChildern方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SynchronizeChildern
public void SynchronizeChildern(Device device)
{
for (int i = device.Children.Count(); i > 0; i--)
{
var childDevice = device.Children[i - 1];
if (device.Driver.AvaliableChildren.Contains(childDevice.Driver.UID) == false)
{
device.Children.RemoveAt(i - 1);
}
}
foreach (var autoCreateChildUID in device.Driver.AutoCreateChildren)
{
var autoCreateDriver = DriversConfiguration.Drivers.FirstOrDefault(x => x.UID == autoCreateChildUID);
for (int i = autoCreateDriver.MinAutoCreateAddress; i <= autoCreateDriver.MaxAutoCreateAddress; i++)
{
var newDevice = new Device()
{
DriverUID = autoCreateDriver.UID,
Driver = autoCreateDriver,
IntAddress = i
};
if (device.Children.Any(x => x.Driver.DriverType == newDevice.Driver.DriverType && x.IntAddress == newDevice.IntAddress) == false)
{
device.Children.Add(newDevice);
newDevice.Parent = device;
}
}
}
device.SynchronizeChildern();
}