CCNet.Build.Reconfigure.PageBuilder.RebuildArea C# (CSharp) Method

RebuildArea() private method

private RebuildArea ( PageSummary area ) : List
area CCNet.Build.Confluence.PageSummary
return List
		private List<IProjectPage> RebuildArea(PageSummary area)
		{
			var areaName = ResolveAreaName(area.Name);

			var knownAreas = new HashSet<string>
			{
				"Archive",
				"ContentCast",
				"DataSource",
				"GuidedSelling",
				"Internal",
				"PartnerAccess",
				"Platform",
				"Production",
				"Sandbox",
				"Vortex"
			};

			if (!knownAreas.Contains(areaName))
				throw new InvalidOperationException($"Unknown area name '{area.Name}'.");

			var result = new ConcurrentBag<IProjectPage>();

			var projects = m_children[area.Id];
			Parallel.ForEach(
				projects,
				new ParallelOptions { MaxDegreeOfParallelism = 5 },
				project =>
				{
					var page = RebuildProject(areaName, project);
					result.Add(page);
				});

			var updated = UpdateAreaPage(result, area);
			if (updated)
			{
				Console.WriteLine("Rebuild [{0}] area summary ... UPDATED", areaName);
			}
			else
			{
				Console.WriteLine("Rebuild [{0}] area summary ... not changed", areaName);
			}

			return result.ToList();
		}