Exemplo n.º 1
0
        protected internal void SetIncludes(AppConf conf, LayoutModel layoutModel)
        {
            Args.ThrowIfNull(conf, "AppConf");
            Args.ThrowIfNull(conf.BamConf, "BamConf");
            Args.ThrowIfNull(conf.BamConf.ContentRoot, "ContentRoot");
            ApplicationServiceRegistry reg = ApplicationServiceRegistry.ForApplication(conf.Name);
            IIncludesResolver          includesResolver = reg.Get <IIncludesResolver>();
            Includes commonIncludes = new Includes();

            if (IncludeCommon)
            {
                commonIncludes = includesResolver.ResolveCommonIncludes(conf.BamConf.ContentRoot);
            }
            Includes      appIncludes        = includesResolver.ResolveApplicationIncludes(conf.Name, conf.BamConf.ContentRoot);
            Includes      combined           = commonIncludes.Combine(appIncludes);
            StringBuilder styleSheetLinkTags = new StringBuilder();

            foreach (string css in combined.Css)
            {
                styleSheetLinkTags.AppendLine(StyleSheetLinkTag.For(css).Render());
            }

            layoutModel.StyleSheetLinkTags = styleSheetLinkTags.ToString();

            StringBuilder scriptLinkTags = new StringBuilder();

            foreach (string script in combined.Scripts)
            {
                scriptLinkTags.Append(ScriptTag.For(script).Render());
            }

            layoutModel.ScriptTags = scriptLinkTags.ToString();
        }
 public ApplicationModel(AppConf appConf, ApplicationServiceRegistry applicationServiceRegistry)
 {
     AppConf = appConf;
     ApplicationServiceRegistry = applicationServiceRegistry;
     Log = ApplicationServiceRegistry.Get <ILog>();
     ApplicationServiceRegistry.Get("Startup", out Type startupType);
     if (startupType != null)
     {
         ApplicationNameSpace = startupType.Namespace;
     }
     WebServiceRegistry = ApplicationServiceRegistry.Get <WebServiceRegistry>();
     Name = appConf.Name;
     ApplicationServiceRegistry.SetInjectionProperties(this);
     RepositoryProviderResolver = ApplicationServiceRegistry.Get <IRepositoryResolver>();
     ApplicationNameProvider    = new StaticApplicationNameProvider(appConf.Name);
     Organization = new OrganizationModel();
 }