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); } }
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); } }