private DM.BaseModel FetchModelByActivityMetadata(DM.ActivityMetadata metadata, ref int uniqueCount) { DM.BaseModel model = null; switch (metadata.ActivityClass) { case "TridentBasicActivities.Activities.ForActivity": //model = this.FetchForActivityModelByMeta(metadata, uniqueCount); //DM.ModelFactory.AssignForActivityModelAttributes(model as DM.ForActivityCompositeModel, parentModel); break; case "TridentBasicActivities.Activities.Replicator": //model = this.FetchReplicatorActivityModelByMeta(metadata, uniqueCount); //DM.ModelFactory.AssignReplicatorActivityModelAttributes(model as ReplicatorActivityCompositeModel, parentModel); break; case "TridentBasicActivities.Activities.IFElse": //model = this.FetchIfElseCompositeActivityModelByMeta(metadata, uniqueCount); //DM.ModelFactory.AssignIfElseActivityModelAttributes(model as IfElseActivityCompositeModel, parentModel); break; default: if (metadata.IsComposite) { model = this.FetchCompositeActivityModelByMeta(metadata, ref uniqueCount); //AssignCompositeActivityModelAttributes(model as DM.CompositeActivityModel, parentModel); } else { model = this.FetchSimpleActivityModelByMeta(metadata, ref uniqueCount); //DM.ModelFactory.AssignSimpleActivityModelAttributes(model as SimpleActivityModel, parentModel); } break; } return model; }
private DM.CompositeActivityModel FetchCompositeActivityModelByMeta(DM.ActivityMetadata metaData, ref int uniqueCount) { DM.CompositeActivityModel compositeModel = new DM.CompositeActivityModel(metaData, uniqueCount++.ToString()); if (compositeModel.ActivityClass.Equals("System.Workflow.Activities.ParallelActivity", StringComparison.OrdinalIgnoreCase)) { DM.CompositeActivityModel childSequenceActivity1 = this.FetchModelByActivityClass("System.Workflow.Activities.SequenceActivity", ref uniqueCount) as DM.CompositeActivityModel; DM.CompositeActivityModel test = childSequenceActivity1 as DM.CompositeActivityModel; childSequenceActivity1.ParentModel = compositeModel; DM.CompositeActivityModel childSequenceActivity2 = this.FetchModelByActivityClass("System.Workflow.Activities.SequenceActivity", ref uniqueCount) as DM.CompositeActivityModel; childSequenceActivity2.ParentModel = compositeModel; compositeModel.Children.Add(childSequenceActivity1); compositeModel.Children.Add(childSequenceActivity2); } return compositeModel; }
/// <summary> /// Checks whether the given model is a parallel composite model /// </summary> /// <param name="model">Target model that is sent for checking</param> /// <returns></returns> public bool IsParallelBasedModel(DM.BaseModel model) { return (model is DM.BaseCompositeModel) && (model.ActivityClass == "System.Workflow.Activities.ParallelActivity") ? true : false; }
private DM.SimpleActivityModel FetchSimpleActivityModelByMeta(DM.ActivityMetadata metaData, ref int uniqueCount) { return new DM.SimpleActivityModel(metaData, uniqueCount++.ToString()); }