public static string CorrectStoragePath(string content, int tenant) { if (string.IsNullOrWhiteSpace(content)) { return(content); } var tenantPath = "/" + TennantPath.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 = TennantPath.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 => "/" + TennantPath.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); }