private static void ParseBlockElement(XElement blockElement, Phase phase, Guideline guideline) { // Generate the appropriate block. var block = GenerateBlockOfAppropriateType(blockElement, phase); // Add the common properties for this block. if (block is SummaryBlock) { AddCommonProperties(blockElement, block as SummaryBlock); } else { AddCommonProperties(blockElement, block); } // If block is assessment block, add assessment type. if (block is AssessmentBlock) { var assessmentTypeString = blockElement.Attribute("AssessmentType")?.Value; AssessmentType assessmentType; var successful = Enum.TryParse(assessmentTypeString, out assessmentType); if (successful) { ((AssessmentBlock)block).AssessmentType = assessmentType; } } // Add block links. var linksElement = blockElement.Descendants("Links").FirstOrDefault(); if (linksElement != null) { foreach (var linkElement in linksElement.Descendants("Link")) { ParseLinkElement(linkElement, block); } } // Add block activities. var activitiesElement = blockElement.Descendants("Activities").FirstOrDefault(); if (activitiesElement != null) { foreach (var activityElement in activitiesElement.Descendants("Activity")) { // Generate the BlockActivityData for this element. var blockActivityData = new BlockActivityData(block); // Generate the common properties for this BlockActivityData. AddCommonProperties(activityElement, blockActivityData); // Add this activity data to the block. block.BlockActivities.Add(blockActivityData); } } // Add this block to the phase. phase.Blocks.Add(block); guideline.LinkManager.Register(block); }
public BlockActivityViewModel(BlockActivityData blockActivityData, GuidelinePageViewModel guidelinePageViewModel) { _guidelinePageViewModel = guidelinePageViewModel; BlockActivityData = blockActivityData; Title = blockActivityData.Title; DescriptiveText = blockActivityData.DescriptiveText; Activated = blockActivityData.Activated; EntityIconName = blockActivityData.EntityIconName; ActivateCommand = new DelegateCommand(() => Activated = true); }
public ActionBlockActivityViewModel(BlockActivityData blockActivityData, GuidelinePageViewModel guidelinePageViewModel) : base(blockActivityData, guidelinePageViewModel) { }