Example #1
0
 Action<Stream> RenderView(Template location, TemplateModel model)
 {
     return stream => {
         var result = engine.CreateView(new TemplateViewFolder(templates), location);
         using (var writer = new StreamWriter(stream))
         {
             result.View.Bind(model);
             result.View.Execute(writer);
             writer.Flush();
         }
     };
 }
Example #2
0
        public TemplateViewResult CreateView(ITemplateViewFolder finder, Template template)
        {
            var viewPath = template.Folder;
            var viewName = template.Name;
            var searchedLocations = new List<string>();
            var descriptorParams = new DescriptorParameters(
                viewPath, viewName, null, true, null);

            engine.ViewFolder = finder;
            var descriptor = descriptorBuilder.BuildDescriptor(
                descriptorParams, searchedLocations);

            if (descriptor == null)
                return new TemplateViewResult(searchedLocations);

            var entry = engine.CreateEntry(descriptor);
            var view = entry.CreateInstance() as TemplateView;

            return new TemplateViewResult(view);
        }
Example #3
0
 bool IsTemplateInPath(Template template, string path)
 {
     return repository.IsTemplateInPath(template, path);
 }
Example #4
0
 bool IsTemplateInFolder(Template template, string path)
 {
     return repository.IsTemplateInFolder(template, path);
 }
Example #5
0
        public virtual IDictionary<string, object> GetExtraParameters(Template template)
        {
            var extra = new Dictionary<string, object>();
            foreach (var filter in Filters)
            {
                filter.ExtraParameters(template, extra);
            }

            return extra;
        }
Example #6
0
 public bool IsTemplateInPath(Template template, string path)
 {
     if (path.Contains(@"\")) path = path.Replace(@"\", "/");
     return string.Compare(path, template.Path, StringComparison.InvariantCultureIgnoreCase) == 0;
 }
Example #7
0
 public TemplateViewFile(Template template)
 {
     this.template = template;
 }