public static string CorrectStoragePath(string content, int tenant)
        {
            if (string.IsNullOrWhiteSpace(content))
            {
                return(content);
            }
            var tenantPath = "/" + TenantPath.CreatePath(tenant.ToString()) + "/";

            return(regex.Replace(content, (m) => m.Success ? m.Groups["start"] + tenantPath : string.Empty));
        }
        internal void ClearDataStoreCache()
        {
            var tenantId = TenantManager.GetCurrentTenant().TenantId.ToString();
            var path     = TenantPath.CreatePath(tenantId);

            foreach (var module in StorageFactoryConfig.GetModuleList("", true))
            {
                Cache.Publish(new DataStoreCacheItem()
                {
                    TenantId = path, Module = module
                }, CacheNotifyAction.Remove);
            }
        }
Esempio n. 3
0
        public override Stream PrepareData(string key, Stream stream, ColumnMapper columnMapper)
        {
            if (!key.EndsWith("body.html"))
            {
                return(stream);
            }

            using (var streamReader = new StreamReader(stream, Encoding.UTF8, true, 1024, true))
            {
                var data = streamReader.ReadToEnd();
                data = Regex.Replace(data, @"(htmleditorfiles|aggregator)(\/0\/|\/[\d]+\/\d\d\/\d\d\/)([-\w]+(?=/))",
                                     match => "/" + TenantPath.CreatePath(columnMapper.GetTenantMapping().ToString()) + "/" + columnMapper.GetUserMapping(match.Groups[3].Value));

                var content = Encoding.UTF8.GetBytes(data);

                stream.Position = 0;
                stream.Write(content, 0, content.Length);
            }

            return(stream);
        }
 private void loadTenants()
 {
     TenantPathList.Clear();
     TenantList.Clear();
     String[] fileList;
     string tenantDir = CurrentPath + Database + currentLoad;
     Console.WriteLine("Loading tenants from {0}", tenantDir);
     fileList = Directory.GetFiles(tenantDir, "*.db");
     TenantPath addTenantPath = new TenantPath();
     SharedCode.Tenant addTenant = new SharedCode.Tenant();
     foreach (string fileName in fileList)
     {
         addTenantPath.Name = Path.GetFileNameWithoutExtension(fileName);
         addTenantPath.Path = fileName;
         addTenant = share.loadTenantInfo(fileName);
         Console.WriteLine("Loading tenant: {0}", addTenantPath.Name);
         TenantPathList.Add(addTenantPath);
         TenantList.Add(addTenant);
     }
 }