private static MachineElementViewModel CreateViewModel(Models.MachineElement me) { MachineElementViewModel vm; switch (me.ToolHolderType) { case MachineModels.Enums.ToolHolderType.None: vm = new MachineElementViewModel(); break; case MachineModels.Enums.ToolHolderType.Static: vm = new StaticToolHolderViewModel().UpdateFromModel(me.ToolHolderData); break; case MachineModels.Enums.ToolHolderType.AutoSource: vm = new AutoSourceToolHolderViewModel().UpdateFromModel(me.ToolHolderData); break; case MachineModels.Enums.ToolHolderType.AutoSink: vm = new AutoSinkToolHolderViewModel().UpdateFromModel(me.ToolHolderData); break; default: throw new NotImplementedException(); } vm.Visible = true; return(vm); }
public static IToolHolderViewModel ToViewModel(this IToolHolder model) { IToolHolderViewModel vm = null; if (model is StaticToolHolder sth) { var svm = new StaticToolHolderViewModel(); UpdateViewModel(svm, sth); vm = svm; } else if (model is AutoSourceToolHolder asrcth) { var avm = new AutoSourceToolHolderViewModel(); UpdateViewModel(avm, asrcth); vm = avm; } else if (model is AutoSinkToolHolder asnkth) { var avm = new AutoSourceToolHolderViewModel(); UpdateViewModel(avm, asnkth); vm = avm; } return(vm); }