Beispiel #1
0
        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));
 }