public ReportView AddChildView(ReportView parent, ReportViewTemplate template)
{
if (Models.Count == 0) throw new Exception("Unable to create a view: No model available.\r\nPlease create a model first.");
ReportView result = ReportView.Create(template);
result.Name = Helper.GetUniqueName(template.Name + " View", (from i in parent.Views select i.Name).ToList());
result.Report = this;
result.InitReferences();
result.SortOrder = parent.Views.Count > 0 ? parent.Views.Max(i => i.SortOrder) + 1 : 1;
if (template.ForModel) result.ModelGUID = Models[0].GUID;
parent.Views.Add(result);
return result;
}