Exemple #1
0
        public string BuildBundleContent(string filePath, string areaName, BundleContext context)
        {
            if (areaName == null)
            {
                throw new OrnamentException("Cannot find areaName in virtual path " + filePath);
            }
            areaName = areaName.ToLower();
            filePath = filePath.ToLower();
            AssemblyResourceStore resourceStoreForArea = AssemblyResourceManager.GetResourceStoreForArea(areaName);

            if (!filePath.StartsWith("~/areas/"))
            {
                filePath = "~/areas" + filePath.TrimStart(new[] { '~' });
            }
            Stream resourceStream = resourceStoreForArea.GetResourceStream(filePath);

            if (resourceStream == null)
            {
                return(string.Format("console.log('Cannot find embed file {0} in {1} assembly')",
                                     resourceStoreForArea.GetFullyQualifiedTypeFromPath(filePath), areaName));
            }
            using (var reader = new StreamReader(resourceStream))
            {
                return(reader.ReadToEnd());
            }
        }
Exemple #2
0
 protected void ResgistSeajsFiles(IApplicationBus bus)
 {
     foreach (SeajsModel model in _seajsEmbeddedModulePath)
     {
         string   str      = string.Format("{0}/{1}", _context.AreaName, model.BundleNamee);
         string[] strArray =
             AssemblyResourceManager.GetResourceStoreForArea(_context.AreaName)
             .MatchPath("~/" + model.FilePath, ".js");
         if ((strArray == null) || (strArray.Length == 0))
         {
             throw new FileNotFoundException(string.Format("Not found an embed js file in {0}", str));
         }
         foreach (string str2 in strArray)
         {
             var bundle = new SeajsEmbedBundle(string.Format("~/{0}/{1}", str, str2), _context.AreaName,
                                               OrnamentContext.Configuration.GetSeajsCombine());
             if (model.BundleNamee != model.FilePath)
             {
                 string virtualPath = string.Format("~/areas/{0}/{1}/{2}", _context.AreaName, model.FilePath,
                                                    str2);
                 bundle = (SeajsEmbedBundle)bundle.Include(virtualPath);
             }
             var eventMessage = new SeajsModuleBundleEventMessage(bundle);
             bus.Send(eventMessage);
         }
     }
 }
Exemple #3
0
        private static ResourceSet GetPath(ViewContext page, string filePath, string pageName)
        {
            var areaName = (string)page.RouteData.DataTokens["area"];
            AssemblyResourceStore resourceStore = AssemblyResourceManager.GetResourceStoreForArea(areaName);

            string defaultReex =
                resourceStore.GetFullyQualifiedTypeFromPath(string.Format(@"{0}/{1}.resources", filePath, pageName));

            return(resourceStore.GetMultiLanguageResouce(defaultReex));
        }
        private void VerifiyAssemblyResourceStoreIsPathResourceStream(string areaName)
        {
            AssemblyResourceStore store;

            InitializeEmbeddedResourceController(areaName);
            store = AssemblyResourceManager.GetResourceStoreForArea(areaName);
            store.ShouldNotBeNull();

            store.IsPathResourceStream("~/Images/arrow.gif").ShouldBeTrue();
            store.IsPathResourceStream("~/Images/Missing_Image.gif").ShouldBeFalse();
        }
        public static bool IsAssemblyCombineModules(string uniqureId)
        {
            RouteData routeDataByUrl = RouteUtils.GetRouteDataByUrl(uniqureId);

            if (routeDataByUrl == null)
            {
                return(false);
            }
            var areaName = (string)routeDataByUrl.DataTokens["area"];

            if (areaName == null)
            {
                return(false);
            }
            if (AssemblyResourceManager.GetResourceStoreForArea(areaName) == null)
            {
                return(false);
            }
            return(BundleTable.Bundles.GetBundleFor(uniqureId) is SeajsEmbedBundle);
        }
        public ActionResult Index(string resourceName, string resourceType)
        {
            if (!string.IsNullOrEmpty(resourceType))
            {
                resourceName = "Content" + "." + resourceType + "." + resourceName;
            }

            var areaName      = (string)RouteData.DataTokens["area"];
            var resourceStore = AssemblyResourceManager.GetResourceStoreForArea(areaName);
            // pre-pend "~" so that it will be replaced with assembly namespace
            var resourceStream = resourceStore.GetResourceStream("~." + resourceName);

            if (resourceStream == null)
            {
                Response.StatusCode = 404;
                return(null);
            }

            var contentType = GetContentType(resourceName);

            return(File(resourceStream, contentType));
        }
Exemple #7
0
        public override void Handle(DBScriptsMessage message)
        {
            var version          = message.LastVersion;
            var connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            var currentVersion   = ExecuteScripts.ExecuteHelper.GetLastDBVersion(connectionString, message.AreaName);

            //I get temp directory from filesystem
            string        tempPath             = System.IO.Path.GetTempPath();
            DirectoryInfo directory            = new DirectoryInfo(tempPath);
            var           scriptsDirectoryName = Guid.NewGuid().ToString();
            var           scriptsDirectory     = directory.CreateSubdirectory(scriptsDirectoryName);
            Encoding      encoding             = Encoding.GetEncoding("ISO-8859-1");

            //I keep al the valid scripts (newer than current version for this area)
            foreach (var script in message.Scripts.Where(s => s.Version.CompareTo(currentVersion) > 0))
            {
                var fileStream = AssemblyResourceManager.GetResourceStoreForArea(message.AreaName).GetResourceStream(script.Url);

                //Save all scripts into temporary folder
                using (StreamReader fileReader = new StreamReader(fileStream))
                {
                    var fileContent       = fileReader.ReadToEnd();
                    var fileData          = script.Version.Split(new char[] { '_' });
                    var scriptsDateFolder = scriptsDirectory.FullName + "/" + fileData[0];
                    if (!Directory.Exists(scriptsDateFolder))
                    {
                        scriptsDirectory.CreateSubdirectory(fileData[0]);
                    }

                    File.WriteAllText(scriptsDateFolder + "/" + fileData[1] + ".sql", fileContent, encoding);
                }
            }

            //Call execute scripts helper in order to update db for this area
            ExecuteScripts.ExecuteHelper.Execute(scriptsDirectory.FullName, connectionString, message.AreaName);
        }