private static Manifest GetVirtualManifest(TemplateKey templeteKey) { string content = @" { ""editWitoutPostback"": false, ""templates"": { ""{{templatekey}}"": { ""type"": ""single"", /* single or multiple*/ ""title"": ""{{templatekey}}"", ""main"": { ""template"": ""{{templatekey}}{{templateextention}}"", ""schemaInTemplate"": false, ""optionsInTemplate"": false, ""clientSideData"": false } } } } "; content = content.Replace("{{templatekey}}", templeteKey.ShortKey); content = content.Replace("{{templateextention}}", templeteKey.Extention); var manifest = JsonConvert.DeserializeObject <Manifest>(content); return(manifest); }
internal static Manifest GetManifest(TemplateKey templateKey) { TemplateManifest templateManifest; var manifest = GetManifest(templateKey, out templateManifest); return(manifest); }
public TemplateManifest GetTemplateManifest(TemplateKey templateKey) { if (Templates != null && Templates.ContainsKey(templateKey.ShortKey)) { return(Templates[templateKey.ShortKey]); } return(null); }
private static Manifest GetVirtualManifest(TemplateKey templeteKey) { /* * string content = @" * { * ""editWitoutPostback"": false, * ""templates"": { * ""{{templatekey}}"": { * ""type"": ""single"", * ""title"": ""{{templatekey}}"", * ""main"": { * ""template"": ""{{templatekey}}{{templateextention}}"", * ""schemaInTemplate"": false, * ""optionsInTemplate"": false, * ""clientSideData"": false * } * } * } * } * "; * * content = content.Replace("{{templatekey}}", templeteKey.ShortKey); * content = content.Replace("{{templateextention}}", templeteKey.Extention); * var manifest = JsonConvert.DeserializeObject<Manifest>(content); */ var manifest = new Manifest(); manifest.EditWitoutPostback = false; manifest.Templates = new Dictionary <string, TemplateManifest>(); manifest.Templates.Add(templeteKey.ShortKey, new TemplateManifest() { Type = "single", Title = templeteKey.ShortKey, ClientSideData = false, Main = new TemplateFiles() { Template = templeteKey.ShortKey + templeteKey.Extention, SchemaInTemplate = false, OptionsInTemplate = false } }); return(manifest); }
internal static Manifest GetManifest(TemplateKey templateKey, out TemplateManifest templateManifest) { templateManifest = null; if (templateKey == null) { return(null); } Manifest manifest; if (templateKey.Extention == "manifest") { manifest = GetFileManifest(templateKey.TemplateDir); //todo downgrade template directories that stop using manifests } else { //todo upgrade template directories that start using manifests //manifest = GetFileManifest(templateKey.TemplateDir); //if (manifest == null) // manifest = GetVirtualManifest(templateKey); //else if (manifest.Templates == null) manifest = GetVirtualManifest(templateKey); } if (manifest != null && manifest.HasTemplates) { //store some info into the Manifest object and its templates for backlink reference manifest.ManifestDir = templateKey.TemplateDir; foreach (KeyValuePair <string, TemplateManifest> keyValuePair in manifest.Templates) { keyValuePair.Value.SetSource(templateKey); } //get the requested template by Key templateManifest = manifest.GetTemplateManifest(templateKey); } return(manifest); }
public void SetSource(TemplateKey templateKey) { ManifestFolderUri = templateKey.TemplateDir; Key = templateKey; }