LiveBoard.ViewModel.MainViewModel.generatePageFromTemaplate C# (CSharp) Method

generatePageFromTemaplate() private method

데이터로 템플릿 사용.
private generatePageFromTemaplate ( LbTemplate template ) : IPage
template LiveBoard.Model.LbTemplate
return IPage
		private IPage generatePageFromTemaplate(LbTemplate template)
		{
			if (template == null)
				throw new ArgumentNullException("template");

			var model = Type.GetType("LiveBoard.PageTemplate.Model." + template.TemplateModel);
			if (model == null)
				throw new ArgumentException("Template model not found.");

			var page = (IPage)Activator.CreateInstance(model);
			page.TemplateKey = template.Key;
			page.View = template.TemplateView;
			page.Title = "Page " + (ActiveBoard.Board.Pages.Count + 1);
			page.Duration = TimeSpan.FromSeconds(5.0d);
			page.IsVisible = true;
			page.Guid = Guid.NewGuid().ToString();
			page.Data = new List<LbPageData>();
			foreach (var d in template.DataList)
			{
				var copyData = LbPageData.FromXml(page.TemplateKey, d.ToXml(true));
				((List<LbPageData>)page.Data).Add(copyData);
			}

			return page;
		}