%PDF- %PDF-
Direktori : /www/old2/_music/diplomka/ |
Current File : /www/old2/_music/diplomka/Bus2DatapointHelper.cs.patch |
Index: Datapoints/Bus2DatapointHelper.cs =================================================================== --- Datapoints/Bus2DatapointHelper.cs (revision 3871) +++ Datapoints/Bus2DatapointHelper.cs (working copy) @@ -155,6 +155,12 @@ case "ccBus2DoorGuard": SaveBus2DoorGuard(baseDataPoint, device); break; + case "ccBus2DuoModule": + SaveBus2DuoModule(baseDataPoint, device); + break; + case "ccBus2SirenModule": + SaveBus2SirenModule(baseDataPoint, device); + break; default: { InsertInputs(device.UID, baseDataPoint); @@ -164,6 +170,60 @@ } } + private static void SaveBus2SirenModule(int baseDataPoint, InternalDataSet.HardwareDeviceRow device) + { + InsertOutputs(device.UID, baseDataPoint); + int inpCnt = 1; + var inputs = + InternalDataStore.DataSet.LogicalDevice.Where( + p => !p.IsClassTypeNull() && p.HardwareDeviceUID == device.UID && p.ClassType == "ccBusInput").OrderBy(p => p.Number); + foreach (var input in inputs) + { + var row = InternalDataStore.DataSet.DatapointNumbers.NewDatapointNumbersRow(); + row.ItemType = "Bus2IO"; + row.VirtualItemUID = HardwareUIDToVirtualUID(device.UID); + row.ItemUID = LogicalUIDToVirtualUID(input.UID); + row.Name = input.Name; + row.DatapointNumber = baseDataPoint + inpCnt++; + row.DatapointType = "300070004"; + InternalDataStore.DataSet.DatapointNumbers.AddDatapointNumbersRow(row); + } + } + + private static void SaveBus2DuoModule(int baseDataPoint, InternalDataSet.HardwareDeviceRow device) + { + InsertInputs(device.UID, baseDataPoint); + int ledCnt = 1; + int outCnt = 1; + var outputs = + InternalDataStore.DataSet.LogicalDevice.Where( + p => !p.IsClassTypeNull() && p.HardwareDeviceUID == device.UID && p.ClassType == "ccBusOutput").OrderBy(p => p.Number); + foreach (var output in outputs) + { + var row = InternalDataStore.DataSet.DatapointNumbers.NewDatapointNumbersRow(); + row.ItemType = "Bus2IO"; + row.VirtualItemUID = HardwareUIDToVirtualUID(device.UID); + row.ItemUID = LogicalUIDToVirtualUID(output.UID); + row.Name = output.Name; + row.DatapointNumber = baseDataPoint + 5 + outCnt; + row.DatapointType = "300070005"; + + // Separate LEDs + if (row.Name.ToUpper().IndexOf("LED", System.StringComparison.Ordinal) >= 0) + { + row.DatapointNumber = baseDataPoint + 10 + ledCnt; + row.DatapointType = "300070006"; + ledCnt++; + } + else + { + outCnt++; + } + + InternalDataStore.DataSet.DatapointNumbers.AddDatapointNumbersRow(row); + } + } + private static void SaveBus2DoorGuard(int baseDataPoint, InternalDataSet.HardwareDeviceRow device) { InsertInputs(device.UID, baseDataPoint); @@ -216,13 +276,13 @@ // Sounder if (output.Number == 2) { - row.DatapointNumber--; + row.DatapointNumber = baseDataPoint + 6; row.DatapointType = "300070052"; } // Flasher if (row.Name.ToUpper().IndexOf("FLASH", System.StringComparison.Ordinal) >= 0) { - row.DatapointNumber++; + row.DatapointNumber = baseDataPoint + 7; row.DatapointType = "300070051"; } InternalDataStore.DataSet.DatapointNumbers.AddDatapointNumbersRow(row);