private static StageElementInstance BuildStage(string id, tStage stage, string casePlanInstanceId) { var planItems = BuildPlanItems(stage, casePlanInstanceId); var result = new StageElementInstance { Id = BaseCasePlanItemInstance.BuildId(casePlanInstanceId, stage.id, 0), Name = stage.name, EltId = id }; foreach (var planItem in planItems) { result.AddChild(planItem); } if (!result.ExitCriterions.Any() && stage.exitCriterion != null) { foreach (var exitCriteria in stage.exitCriterion) { var sEntry = stage.sentry.First(s => s.id == exitCriteria.sentryRef); result.ExitCriterions.Add(new Criteria(exitCriteria.name) { SEntry = BuildSEntry(sEntry) }); } } return(result); }
protected override BaseCaseEltInstance InternalBuild() { var result = new StageElementInstance(); foreach (var builder in Builders) { result.AddChild(builder.Build() as BaseCasePlanItemInstance); } return(result); }
public static CasePlanElementInstanceModel ToModel(this StageElementInstance stage, string casePlanInstanceId) { var children = new List <CasePlanElementInstanceModel>(); foreach (var child in stage.Children) { children.Add(child.ToModel(casePlanInstanceId)); } stage.Children.Clear(); return(new CasePlanElementInstanceModel { EltId = stage.Id, CasePlanInstanceId = casePlanInstanceId, SerializedContent = JsonConvert.SerializeObject(stage), Type = (int)stage.Type, Children = children }); }
protected override string BuildId() { return(StageElementInstance.BuildId(CasePlanInstanceId, EltId, 0)); }