public static void Select (TCategory category, TActionComponent component, TEntityAction entityAction) { if (component.NotNull () && entityAction.NotNull ()) { switch (category) { case TCategory.Material: TGadgetMaterialConverter.Select (component, entityAction); break; case TCategory.Target: TGadgetTargetConverter.Select (component, entityAction); break; case TCategory.Test: TGadgetTestConverter.Select (component, entityAction); break; case TCategory.Registration: TGadgetRegistrationConverter.Select (component, entityAction); break; case TCategory.Result: TGadgetResultConverter.Select (component, entityAction); break; case TCategory.Report: TGadgetReportConverter.Select (component, entityAction); break; } } }
public static void Collection (TCategory category, Collection<TActionComponent> gadgets, TEntityAction entityAction) { if (gadgets.NotNull () && entityAction.NotNull ()) { switch (category) { case TCategory.Material: TGadgetMaterialConverter.Collection (gadgets, entityAction); break; case TCategory.Target: TGadgetTargetConverter.Collection (gadgets, entityAction); break; case TCategory.Test: TGadgetTestConverter.Collection (gadgets, entityAction); break; case TCategory.Registration: TGadgetRegistrationConverter.Collection (gadgets, entityAction); break; case TCategory.Result: TGadgetResultConverter.Collection (gadgets, entityAction); break; case TCategory.Report: TGadgetReportConverter.Collection (gadgets, entityAction); break; } } }
public static void Collection (Collection<TActionComponent> gadgets, TEntityAction entityAction) { if (gadgets.NotNull ()) { gadgets.Clear (); if (entityAction.NotNull ()) { if (entityAction.CategoryType.IsCategory (TCategory.Test)) { var gadgetCollection = new Collection<GadgetTest> (); foreach (var item in entityAction.CollectionAction.ModelCollection) { var modelAction = item.Value; var gadget = GadgetTest.CreateDefault; gadget.Id = modelAction.ComponentInfoModel.Id; gadget.GadgetName = modelAction.ExtensionTextModel.Text; gadget.Description = modelAction.ExtensionTextModel.Description; gadget.ExternalLink = modelAction.ExtensionTextModel.ExternalLink; gadget.Material = modelAction.ExtensionTextModel.Extension; gadget.Enabled = modelAction.ComponentInfoModel.Enabled; gadget.GadgetInfo = modelAction.ComponentInfoModel.Name; gadget.Busy = modelAction.ComponentStatusModel.Busy; // update if (entityAction.CollectionAction.ComponentRelationCollection.Count.Equals (0)) { foreach (var componentRelation in entityAction.CollectionAction.ComponentOperation.ParentCategoryCollection) { foreach (var relation in componentRelation.Value) { entityAction.CollectionAction.ComponentRelationCollection.Add (relation); } } } foreach (var relation in entityAction.CollectionAction.ComponentRelationCollection) { if (relation.ParentId.IsEmpty ()) { gadget.AddContentId (relation.ChildId); } else { if (gadget.Contains (relation.ParentId)) { gadget.AddContentId (relation.ChildId); } } } gadgetCollection.Add (gadget); } // sort var list = gadgetCollection .OrderBy (p => p.GadgetInfo) .ToList () ; foreach (var gadgetTest in list) { // update Content if (gadgetTest.HasContent) { var idList = new Collection<Guid> (); gadgetTest.RequestContentId (idList); foreach (var id in idList) { if (entityAction.CollectionAction.EntityCollection.ContainsKey (id)) { var action = entityAction.CollectionAction.EntityCollection [id]; // Target if (action.CategoryType.IsCategory (TCategory.Target)) { var componentTarget = TActionComponent.Create (TCategory.Target); TGadgetTargetConverter.Select (componentTarget, action); gadgetTest.AddContent (componentTarget.Models.GadgetTargetModel); } // Test if (action.CategoryType.IsCategory (TCategory.Test)) { var componentTest = TActionComponent.Create (TCategory.Test); Select (componentTest, action); gadgetTest.AddContent (componentTest.Models.GadgetTestModel); } } } } var component = TActionComponent.Create (TCategory.Test); component.Models.GadgetTestModel.CopyFrom (gadgetTest); gadgets.Add (component); } } } } }