Esempio n. 1
0
 public static IMachineElement ToViewModel(this MDE.MachineElement me, IMachineElement parent = null)
 {
     if (me is MDE.RootElement re)
     {
         return(Convert(re, parent).Decorate());
     }
     else if (me is MDE.InserterElement ins)
     {
         return(Convert(ins, parent).Decorate());
     }
     else if (me is MDE.InjectorElement inj)
     {
         return(Convert(inj, parent).Decorate());
     }
     else if (me is MDE.ColliderElement ce)
     {
         return(Convert(ce, parent).Decorate());
     }
     else if (me is MDE.ToolholderElement th)
     {
         return(Convert(th, parent).Decorate());
     }
     else if (me is MDE.PanelHolderElement ph)
     {
         return(Convert(ph, parent).Decorate());
     }
     else
     {
         return(Convert <ElementViewModel>(me, parent).Decorate());
     }
 }
Esempio n. 2
0
        private static T Convert <T>(MDE.MachineElement machineElement, IMachineElement parent) where T : ElementViewModel, new()
        {
            var evm = new T()
            {
                MachineElementID = machineElement.MachineElementID,
                Name             = machineElement.Name,
                ModelFile        = machineElement.ModelFile,
                Color            = machineElement.Color,
                Transformation   = machineElement.Transformation,
                LinkToParent     = ConvertLink(machineElement.LinkToParent, machineElement.Name),
                Parent           = parent
            };

            foreach (var item in machineElement.Children)
            {
                evm.Children.Add(item.ToViewModel(evm));
            }

            //foreach (var item in evm.Children) item.Parent = evm;

            return(evm);
        }