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 Cleanup () { ControlModel.CopyFrom (GadgetTest.CreateDefault); ComponentControlModels.Clear (); MaterialImage = null; }
public void CopyFrom (TComponentControlModel alias) { if (alias.NotNull ()) { Cleanup (); ControlModel.CopyFrom (alias.ControlModel); foreach (var item in alias.ComponentControlModels) { ComponentControlModels.Add (item); } } }
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; } } }
public void RemoveComponent (TActionComponent component) { if (component.NotNull ()) { switch (component.Category) { case TCategory.Test: { ControlModel.RemoveContent (component.Models.GadgetTestModel); if (HasComponentControlModels) { foreach (var controlModelItem in ComponentControlModels) { if (component.Models.GadgetTestModel.Contains (controlModelItem.ControlModelId)) { ComponentControlModels.Remove (controlModelItem); break; } } } } break; case TCategory.Target: ControlModel.RemoveContent (component.Models.GadgetTargetModel); break; } } }