public void SelectModel (GadgetTest gadget) { if (gadget.NotNull ()) { ControlModel.GadgetName = gadget.GadgetName; ControlModel.Description = gadget.Description; ControlModel.ExternalLink = gadget.ExternalLink; if (gadget.ValidateId) { if (ControlModel.Contains (gadget.Id).IsFalse ()) { ComponentControlModels.Clear (); ControlModel.CopyFrom (gadget); if (ControlModel.HasContentTest) { var contents = new Collection<GadgetTest> (); ControlModel.RequestContent (contents); foreach (var gadgetTest in contents) { var controlModel = TComponentControlModel.CreateDefault; controlModel.ControlModel.CopyFrom (gadgetTest.Clone ()); ComponentControlModels.Add (controlModel); } } } } } }
public void AddComponent (TActionComponent component) { if (component.NotNull ()) { switch (component.Category) { case TCategory.Test: { ControlModel.AddContent (component.Models.GadgetTestModel); var contents = new Collection<GadgetTest> (); ControlModel.RequestContent (contents); ComponentControlModels.Clear (); foreach (var gadgetTest in contents) { var componentControlModel = TComponentControlModel.CreateDefault; componentControlModel.ControlModel.CopyFrom (gadgetTest); if (componentControlModel.ControlModel.HasContentTest) { var internalContents = new Collection<GadgetTest> (); componentControlModel.ControlModel.RequestContent (internalContents); foreach (var gadgetTestInternal in internalContents) { var internalComponentControlModel = TComponentControlModel.CreateDefault; internalComponentControlModel.ControlModel.CopyFrom (gadgetTestInternal); internalComponentControlModel.SelectImage (component.Models.GadgetMaterialModel.GetImage ()); componentControlModel.ComponentControlModels.Add (internalComponentControlModel); } } if (componentControlModel.ControlModel.HasContentTarget) { componentControlModel.SelectImage (component.Models.GadgetMaterialModel.GetImage ()); } ComponentControlModels.Add (componentControlModel); } } break; case TCategory.Target: { ControlModel.AddContent (component.Models.GadgetTargetModel); SelectImage (component.Models.GadgetMaterialModel.GetImage ()); } break; } } }