Ejemplo n.º 1
0
 public void LoadFromXElement(XElement root)
 {
     if (root == null)
     {
         throw new ArgumentNullException(nameof(root));
     }
     Name = root.Attribute("Name").Value;
     foreach (var childElement in root.Elements())
     {
         switch (childElement.Name.LocalName)
         {
             case "composit":
                 var composit = new MachineComposit();
                 composit.LoadFromXElement(childElement);
                 Machines.Add(composit);
                 break;
             case "machine":
                 var machine = new Machine();
                 machine.LoadFromXElement(childElement);
                 Machines.Add(machine);
                 break;
             default:
                 throw new XmlException("Root has unknown nodes!");
         }
     }
 }
Ejemplo n.º 2
0
 public Group(MachineComposit rootMachineComposit)
 {
     Name = rootMachineComposit.Name;
     SubGroups = new List<IGroup>();
     foreach (var machine in rootMachineComposit.Machines.OfType<MachineComposit>())
     {
         SubGroups.Add(new Group(machine));
     }
 }
 public ServiceHandlerComposite(MachineComposit machineComposit, int port)
 {
     if (machineComposit == null)
     {
         throw new ArgumentNullException(nameof(machineComposit));
     }
     ServiceHandlers = new List<IServiceHandler>();
     foreach (var machine in machineComposit.Machines)
     {
         if (machine is Machine)
             ServiceHandlers.Add(new ServiceHandler((machine as Machine).Ip, port, (machine as Machine).MacAdress));
         if (machine is MachineComposit)
             ServiceHandlers.Add(new ServiceHandlerComposite(machine as MachineComposit, port));
     }
 }