virtual public void ModifyDevNames(int newTechObjectN, int oldTechObjectN, string techObjectName) { List <int> tmpIndex = new List <int>(); foreach (int index in deviceIndex) { tmpIndex.Add(index); } Device.IDeviceManager deviceManager = Device.DeviceManager .GetInstance(); foreach (int index in deviceIndex) { var newDevName = string.Empty; Device.IDevice device = deviceManager.GetDeviceByIndex(index); int objNum = device.ObjectNumber; string objName = device.ObjectName; if (objNum > 0) { //Для устройств в пределах объекта меняем номер объекта. if (techObjectName == objName) { // COAG2V1 --> COAG1V1 if (objNum == newTechObjectN && oldTechObjectN != -1) { newDevName = objName + oldTechObjectN + device.DeviceType.ToString() + device. DeviceNumber; } if (oldTechObjectN == -1 || oldTechObjectN == objNum) { //COAG1V1 --> COAG2V1 newDevName = objName + newTechObjectN + device.DeviceType.ToString() + device .DeviceNumber; } } } if (newDevName != string.Empty) { int indexOfDeletingElement = tmpIndex.IndexOf(index); tmpIndex.Remove(index); int tmpDevInd = Device.DeviceManager.GetInstance() .GetDeviceIndex(newDevName); if (tmpDevInd >= 0) { tmpIndex.Insert(indexOfDeletingElement, tmpDevInd); } } } deviceIndex = tmpIndex; }
override public List <DrawInfo> GetObjectToDrawOnEplanPage() { Device.IDeviceManager deviceManager = Device.DeviceManager .GetInstance(); var devToDraw = new List <DrawInfo>(); foreach (int index in deviceIndex) { devToDraw.Add(new DrawInfo(DrawStyle, deviceManager.GetDeviceByIndex(index))); } return(devToDraw); }
virtual public void ModifyDevNames(string newTechObjectName, int newTechObjectNumber, string oldTechObjectName, int oldTechObjNumber) { List <int> tmpIndex = new List <int>(); foreach (int index in deviceIndex) { tmpIndex.Add(index); } Device.IDeviceManager deviceManager = Device.DeviceManager .GetInstance(); foreach (int index in deviceIndex) { string newDevName = string.Empty; Device.IDevice device = deviceManager.GetDeviceByIndex(index); int objNum = newTechObjectNumber; string objName = device.ObjectName; if (objName == oldTechObjectName && device.ObjectNumber == oldTechObjNumber) { newDevName = newTechObjectName + objNum + device.DeviceType.ToString() + device.DeviceNumber; } if (newDevName != string.Empty) { int indexOfDeletingElement = tmpIndex.IndexOf(index); tmpIndex.Remove(index); int tmpDevInd = Device.DeviceManager.GetInstance() .GetDeviceIndex(newDevName); if (tmpDevInd >= 0) { tmpIndex.Insert(indexOfDeletingElement, tmpDevInd); } } } deviceIndex = tmpIndex; }
public override IList <int> ProcessDevices(string devicesStr, Device.IDeviceManager deviceManager) { IList <int> validatedDevicesId = base.ProcessDevices(devicesStr, deviceManager); var idDevDict = new Dictionary <int, Device.IDevice>(); foreach (var devId in validatedDevicesId) { var dev = deviceManager.GetDeviceByIndex(devId); idDevDict.Add(devId, dev); } var newInputDevs = idDevDict .Where(x => x.Value.DeviceType == Device.DeviceType.AI || x.Value.DeviceType == Device.DeviceType.DI) .ToList(); if (newInputDevs.Count > 1) { foreach (var newInputDevPair in newInputDevs) { var newInputDevId = newInputDevPair.Key; if (Action.DeviceIndex.Contains(newInputDevId)) { idDevDict.Remove(newInputDevId); } } } var devList = idDevDict .ToList() .OrderBy(x => x.Value.DeviceType.ToString()) .Select(x => x.Key) .ToList(); return(devList); }