%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/old2/_music/diplomka/
Upload File :
Create Path :
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);

Zerion Mini Shell 1.0