protected virtual Template BuildTemplate(DbTemplate ft, TemplateCollection templates)
{
var builder = new Template.Builder(ft.Name, ft.ID, templates);
var sectionName = "Data";
var sectionId = ID.NewID;
var sectionItem = ft.Children.FirstOrDefault(i => i.TemplateID == TemplateIDs.TemplateSection);
if (sectionItem != null)
{
sectionName = sectionItem.Name;
sectionId = sectionItem.ID;
}
var section = builder.AddSection(sectionName, sectionId);
foreach (var field in ft.Fields)
{
if (ft.ID != TemplateIDs.StandardTemplate && field.IsStandard())
{
continue;
}
var newField = section.AddField(field.Name, field.ID);
newField.SetShared(field.Shared);
newField.SetType(field.Type);
newField.SetSource(field.Source);
}
if (ft.ID != TemplateIDs.StandardTemplate)
{
builder.SetBaseIDs(ft.BaseIDs.Any() ? string.Join("|", ft.BaseIDs as IEnumerable<ID>) : TemplateIDs.StandardTemplate.ToString());
}
return builder.Template;
}