public static string GetActualExecutionPlanHtmlPlotlySankey(this ExecutionStatus executionStatus) { var stats = executionStatus.GetActualExecutionPlanPlotlySankey(); string file; var assembly = typeof(ExecutionStatusEx).Assembly; using (var stream = assembly.GetManifestResourceStream("Paillave.Etl.ExecutionPlan.Resources.ActualExecutionPlan.PlotySankey.html")) using (var reader = new StreamReader(stream)) file = reader.ReadToEnd(); string html = file.Replace("'<<NODE_NAMES>>'", JsonConvert.SerializeObject(stats.NodeNames)); html = html.Replace("'<<NODE_COLORS>>'", JsonConvert.SerializeObject(stats.NodeColors)); html = html.Replace("'<<LINK_SOURCES>>'", JsonConvert.SerializeObject(stats.LinkSources)); html = html.Replace("'<<LINK_TARGETS>>'", JsonConvert.SerializeObject(stats.LinkTargets)); html = html.Replace("'<<LINK_VALUES>>'", JsonConvert.SerializeObject(stats.LinkValues)); return(html); }