예제 #1
0
    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;
        }
      }
    }
예제 #2
0
 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;
     }
   }
 }
예제 #3
0
    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);
            }
          }
        }
      }
    }