private static void ProduceReport() { int totalProducts = 0; int totalOrders = 0; // Get the data for the report (any IEnumerable or LINQ query will work) var query = ProductRepository.GetAll(); // Create the report and turn our query into a ReportSource var report = new Report(query.ToReportSource()); // Customize the Text Fields report.TextFields.Title = "Products Report"; report.TextFields.SubTitle = "This is a sample report showing how Doddle Report works"; report.TextFields.Footer = "Copyright 2011 © The Doddle Project"; report.TextFields.Header = string.Format(@" Report Generated: {0} Total Products: {1} Total Orders: {2} Total Sales: {3:c}", DateTime.Now, totalProducts, totalOrders, totalProducts * totalOrders); // Render hints allow you to pass additional hints to the reports as they are being rendered report.RenderHints.BooleanCheckboxes = true; // Customize the data fields report.DataFields["Id"].Hidden = true; report.DataFields["Price"].DataFormatString = "{0:c}"; report.DataFields["LastPurchase"].DataFormatString = "{0:d}"; var writer = new HtmlReportWriter(); // writer.WriteReport(report, HttpContext.Response.OutputStream); }
public void GenerateHTMLReport() { using (var fs = new StreamWriter(this._saveFilepath)) { var writer = new HtmlReportWriter(); writer.WriteReport(this._report, fs.BaseStream); } }
public static void ReportData() { int totalProducts = 0; int totalOrders = 0; // Get the data for the report (any IEnumerable or LINQ query will work) var query = ProductRepository.GetAll(); // Create the report and turn our query into a ReportSource var report = new Report(query.ToReportSource()); // Customize the Text Fields report.TextFields.Title = "Products Report"; report.TextFields.SubTitle = "This is a sample report showing how Doddle Report works"; report.TextFields.Footer = "Copyright 2011 © The Doddle Project"; report.TextFields.Header = string.Format(@" Report Generated: {0} Total Products: {1} Total Orders: {2} Total Sales: {3:c}", DateTime.Now, totalProducts, totalOrders, totalProducts * totalOrders); // Render hints allow you to pass additional hints to the reports as they are being rendered report.RenderHints.BooleanCheckboxes = true; // Customize the data fields report.DataFields["Id"].Hidden = true; report.DataFields["Price"].DataFormatString = "{0:c}"; report.DataFields["LastPurchase"].DataFormatString = "{0:d}"; // Write now! var writer = new HtmlReportWriter(); writer.WriteReport(report, HttpContext.Response.OutputStream); }
private void btnPrint_Click(object sender, EventArgs e) { frmRaporDialog frm = new frmRaporDialog(true, true, true, false); frm.ShowDialog(); try { ReportTo?dest = frm.GetReportDestination(); if (dest.HasValue) { if (dest.Value != ReportTo.CrytalReport) { // Create the report and turn our query into a ReportSource var report = new Report(_data.ToReportSource()); // Customize the Text Fields report.TextFields.Title = "Gün gün Kasa Raporu"; report.TextFields.Header = string.Format(@" Kasa :{0} Rapor Tarihi: {1} Tarih Aralığı:{2} ", cmboxKasalar.Text, DateTime.Now, GetTarihAraligi()); // Render hints allow you to pass additional hints to the reports as they are being rendered report.DataFields["Gelir"].ShowTotals = true; report.DataFields["Gider"].ShowTotals = true; report.DataFields["Bakiye"].ShowTotals = true; // Customize the data fields report.RenderHints["HtmlStyle"] = "th { font-size: 14px !important;font-weight:bold !important}"; report.DataFields["Gelir"].DataFormatString = "{0:F2}"; report.DataFields["Gider"].DataFormatString = "{0:F2}"; report.DataFields["Bakiye"].DataFormatString = "{0:F2}"; report.DataFields["Tarih"].DataFormatString = "{0:d}"; string fileName = "gunGunKasaRaporu.xls"; IReportWriter writer = new ExcelReportWriter(); if (dest.Value == ReportTo.Html) { writer = new HtmlReportWriter(); fileName = "gunGunKasaRaporu.html"; } else if (dest.Value == ReportTo.Csv) { writer = new DelimitedTextReportWriter(); fileName = "gunGunKasaRaporu.txt"; } string file = Path.Combine(Engine.DokumanPath(), fileName); FileStream fs = new FileStream(file, FileMode.Create); writer.WriteReport(report, fs); fs.Close(); Process prc = new Process(); prc.StartInfo.FileName = file; prc.Start(); } } } catch (Exception exc) { MessageBox.Show(exc.Message); LogWrite.Write(exc); } }
private void btnPrint_Click(object sender, EventArgs e) { frmRaporDialog frm = new frmRaporDialog(true, true, true, false); frm.ShowDialog(); ReportTo?dest = frm.GetReportDestination(); if (dest.HasValue) { try { if (dest != ReportTo.CrytalReport) { var report = new Report(_source.ToReportSource()); // Customize the Text Fields report.RenderHints.IncludePageNumbers = true; report.TextFields.Title = tabPage2.Text; report.TextFields.Header = string.Format(@" Rapor Tarihi:{0} Rapor Tarih Aralığı:{1} Cari:{2} ", DateTime.Now, GetTarihAraligi(), RaporCariString()); report.DataFields["Tarih"].DataFormatString = "{0:d}"; report.DataFields["Borc"].DataFormatString = "{0:F2}"; report.DataFields["Alacak"].DataFormatString = "{0:F2}"; report.DataFields["Alacak"].ShowTotals = true; report.DataFields["Borc"].ShowTotals = true; string fileName = "cariHareketDokumu.xls"; IReportWriter writer = new ExcelReportWriter(); if (dest.Value == ReportTo.Html) { writer = new HtmlReportWriter(); fileName = "cariHareketDokumu.html"; } else if (dest.Value == ReportTo.Csv) { writer = new DelimitedTextReportWriter(); fileName = "cariHareketDokumu.txt"; } string file = Path.Combine(Engine.DokumanPath(), fileName); FileStream fs = new FileStream(file, FileMode.Create); writer.WriteReport(report, fs); fs.Close(); Process prc = new Process(); prc.StartInfo.FileName = file; prc.Start(); } else { //frmStokAlisSatisRaporCrytalRapor frm2 = new frmStokAlisSatisRaporCrytalRapor(_source); //frm2.Show(); } } catch (Exception exc) { MessageBox.Show(exc.Message); LogWrite.Write(exc); } } }
public void CreatesHtmlReport() { var mapper = Substitute.For <ITargetMapper>(); var writer = new HtmlReportWriter(mapper); var response = new AnalyzeResponse { MissingDependencies = new List <MemberInfo> { new MemberInfo { MemberDocId = "Type1.doc1", DefinedInAssemblyIdentity = "Assembly1", TypeDocId = "Type1" }, new MemberInfo { MemberDocId = "Type2.doc2", DefinedInAssemblyIdentity = "Assembly2", TypeDocId = "Type2" } }, SubmissionId = Guid.NewGuid().ToString(), Targets = new List <FrameworkName> { new FrameworkName("target1", Version.Parse("1.0.0.0")) }, UnresolvedUserAssemblies = new List <string> { "UnresolvedAssembly", "UnresolvedAssembly2", "UnresolvedAssembly3" }, BreakingChangeSkippedAssemblies = new List <AssemblyInfo>(), BreakingChanges = new List <BreakingChangeDependency>(), }; var reportingResult = new ReportingResult(response.Targets, response.MissingDependencies, response.SubmissionId, AnalyzeRequestFlags.NoTelemetry); response.ReportingResult = reportingResult; var tempFile = Path.GetTempFileName(); try { using (var file = File.OpenWrite(tempFile)) { writer.WriteStream(file, response); } Assert.True(File.Exists(tempFile)); var contents = File.ReadAllText(tempFile); Assert.True(!string.IsNullOrEmpty(contents)); Assert.Contains(response.SubmissionId, contents); } finally { if (File.Exists(tempFile)) { File.Delete(tempFile); } } }
private void btnPrint_Click(object sender, EventArgs e) { frmRaporDialog frm = new frmRaporDialog(true, true, true, false); frm.ShowDialog(); ReportTo? dest = frm.GetReportDestination(); if (dest.HasValue) { try { if (dest.Value != ReportTo.CrytalReport) { // Create the report and turn our query into a ReportSource var report = new Report(_source.ToReportSource()); // Customize the Text Fields report.TextFields.Title = "Kasa Hareket Dökümü"; report.TextFields.Header = string.Format(@" Rapor Tarihi:{0} Tarih Aralığı:{1} Kasa:{2} ", DateTime.Now,GetTarihAraligi(), _source.Rows[0]["KasaKod"].ToStringOrEmpty()); // Render hints allow you to pass additional hints to the reports as they are being rendered report.RenderHints.BooleanCheckboxes = true; // Customize the data fields report.DataFields["Tutar"].ShowTotals = true; report.DataFields["KasaKod"].Hidden = true; //report.DataFields["Tutar"].DataFormatString = "{0:c}"; report.DataFields["Tarih"].DataFormatString = "{0:d}"; string fileName = "kasahareketDokumu.xls"; IReportWriter writer = new ExcelReportWriter(); if (dest.Value == ReportTo.Html) { writer = new HtmlReportWriter(); fileName = "kasahareketDokumu.html"; } else if (dest.Value == ReportTo.Csv) { writer = new DelimitedTextReportWriter(); fileName = "kasahareketDokumu.txt"; } string file = Path.Combine(Engine.DokumanPath(), fileName); FileStream fs = new FileStream(file, FileMode.Create); writer.WriteReport(report, fs); fs.Close(); Process prc = new Process(); prc.StartInfo.FileName = file; prc.Start(); } } catch (Exception exc) { MessageBox.Show(exc.Message); LogWrite.Write(exc); } } }
public Jenkins(Harness harness, IProcessManager processManager, IResultParser resultParser, ITunnelBore tunnelBore) { this.processManager = processManager ?? throw new ArgumentNullException(nameof(processManager)); this.TunnelBore = tunnelBore ?? throw new ArgumentNullException(nameof(tunnelBore)); Harness = harness ?? throw new ArgumentNullException(nameof(harness)); Simulators = new SimulatorLoader(processManager); Devices = new HardwareDeviceLoader(processManager); testSelector = new TestSelector(this, processManager, new GitHub(harness, processManager)); testVariationsFactory = new TestVariationsFactory(this, processManager); DeviceLoader = new JenkinsDeviceLoader(Simulators, Devices, Logs); resourceManager = new ResourceManager(); htmlReportWriter = new HtmlReportWriter(jenkins: this, resourceManager: resourceManager, resultParser: resultParser); markdownReportWriter = new MarkdownReportWriter(); }
public void Test2() { var dc = new DataContext(); dc.AddTable("data", new[] { new Item { Col1 = "A", Col2 = 2 } }); var flow = new Flow { Orientation = FlowOrientation.Vertical }; var table = flow.AddTable <Item>("data"); table.Columns.Single(a => a.DataField == "Col2").ConditionalFormatting = (value) => { if (!(value is int)) { return(null); } var v = (int)value; if (v > 0) { return new Styling.CellStyle { FontStyle = new Styling.FontStyle { FontColor = Styling.Color.FromHtml("#00FF00") } } } ; return(null); }; var rep = Report.CreateReport(flow, dc); var cells = ReportUtil.GetCellMatrix(rep); Assert.IsNull(cells[0][0].CustomStyle); Assert.IsNotNull(cells[0][1].CustomStyle); var html = HtmlReportWriter.RenderReport(rep, new DefaultHtmlReportTheme()); Assert.IsTrue(html.Contains("style=\"color:")); Assert.IsTrue(html.Contains("#00FF00")); } }
public IErrorsInfo RunReport(ReportType reportType, string outputFile) { try { reportOutput = new ReportOutput(); reportOutput.Definition = Definition; reportOutput.DMEEditor = DMEEditor; if (reportOutput.GetBlockDataIntoTables()) { CopyReportDefinition2Doodle(); switch (reportType) { case ReportType.html: break; case ReportType.xls: break; case ReportType.csv: break; case ReportType.pdf: break; default: break; } FileStream fileStream = new FileStream(outputFile + "." + reportType.ToString(), FileMode.Create); outputstream = fileStream; var writer = new HtmlReportWriter(); writer.WriteReport(report, outputstream); OutputFile = outputFile + "." + reportType.ToString(); DMEEditor.AddLogMessage("Success", $"Creating Doddle Report", DateTime.Now, 0, null, Errors.Ok); } } catch (Exception ex) { string errmsg = "Error Saving Function Mapping "; DMEEditor.AddLogMessage("Fail", $"{errmsg}:{ex.Message}", DateTime.Now, 0, null, Errors.Failed); } return(DMEEditor.ErrorObject); }
public Jenkins(IHarness harness, IProcessManager processManager, IResultParser resultParser, ITunnelBore tunnelBore) { this.processManager = processManager ?? throw new ArgumentNullException(nameof(processManager)); this.TunnelBore = tunnelBore ?? throw new ArgumentNullException(nameof(tunnelBore)); Harness = harness ?? throw new ArgumentNullException(nameof(harness)); Simulators = new SimulatorLoader(processManager); Devices = new HardwareDeviceLoader(processManager); testSelector = new TestSelector(this, processManager, new GitHub(harness, processManager)); testVariationsFactory = new TestVariationsFactory(this, processManager); DeviceLoader = new JenkinsDeviceLoader(Simulators, Devices, Logs); resourceManager = new ResourceManager(); xamarinStorageHtmlReportWriter = new HtmlReportWriter(jenkins: this, resourceManager: resourceManager, resultParser: resultParser); // we only care about the vsdrops writer if we are in the CI, locally makes no sense if (harness.InCI && !string.IsNullOrEmpty(Harness.VSDropsUri)) { vsdropsHtmlReportWriter = new HtmlReportWriter(this, resourceManager, resultParser, linksPrefix: Harness.VSDropsUri, embeddedResources: true); } markdownReportWriter = new MarkdownReportWriter(); }
public static void CreatesHtmlReport() { var mapper = Substitute.For <ITargetMapper>(); var writer = new HtmlReportWriter(mapper); var response = GetAnalyzeResponse(); // setting all show... flags renders every section of the report var flags = AnalyzeRequestFlags.NoTelemetry | AnalyzeRequestFlags.ShowBreakingChanges | AnalyzeRequestFlags.ShowNonPortableApis | AnalyzeRequestFlags.ShowRetargettingIssues; var reportingResult = new ReportingResult(response.Targets, response.MissingDependencies, response.SubmissionId, flags); response.ReportingResult = reportingResult; var tempFile = Path.GetTempFileName(); try { using (var file = File.OpenWrite(tempFile)) { writer.WriteStream(file, response); } Assert.True(File.Exists(tempFile)); var contents = File.ReadAllText(tempFile); Assert.True(!string.IsNullOrEmpty(contents)); Assert.Contains(response.SubmissionId, contents, StringComparison.Ordinal); } finally { if (File.Exists(tempFile)) { File.Delete(tempFile); } } }
static void Main(string[] args) { var options = new CommandLineOptions(); try { if (!Parser.Default.ParseArguments(args, options)) { return; } Console.WriteLine("Start"); Validate.FileExist(options.TestResultXmlPath, "Test Result Xml Path"); TestLoadResult testLoadResult = TestLoadResult.ConvertFrom(options.TestResultXmlPath); HtmlReportWriter writer = new HtmlReportWriter(options.OutputFolderPath, options.OutputName); writer.Write(testLoadResult); } catch (Exception ex) { Console.Error.WriteLine(ex.Message); Console.WriteLine(options.GetUsage()); } Console.WriteLine("End"); }
private void btnPrint_Click(object sender, EventArgs e) { frmRaporDialog frm = new frmRaporDialog(true, true, true, false); frm.ShowDialog(); ReportTo?dest = frm.GetReportDestination(); if (dest.HasValue) { try { if (dest != ReportTo.CrytalReport) { var report = new Report(ListToDataTable().ToReportSource()); // Customize the Text Fields report.TextFields.Title = "Banka Hareket Raporu"; report.TextFields.Header = string.Format(@" Rapor Tarihi :{0} HesapNo :{1} BankaAdı :{2} HesapSahibi :{3} ŞubeAdı :{4} ParaBirimi :{5} Tarih Aralığı :{6} ", DateTime.Now, txtHesapNo.Text, txtBankaAdi.Text, txtHesapSahip.Text, txtSubeAdi.Text , txtParaBirimi.Text, GetTarihAraligi()); report.DataFields["Tarih"].DataFormatString = "{0:d}"; report.DataFields["Tutar"].DataFormatString = "{0:F2}"; report.DataFields["Tutar"].ShowTotals = true; string fileName = "bankaRaporu"; IReportWriter writer = new ExcelReportWriter(); if (dest.Value == ReportTo.Excel) { fileName = fileName + ".xls"; } else if (dest.Value == ReportTo.Html) { writer = new HtmlReportWriter(); fileName = fileName + ".html"; } else if (dest.Value == ReportTo.Csv) { writer = new DelimitedTextReportWriter(); fileName = fileName + ".txt"; } string file = Path.Combine(Engine.DokumanPath(), fileName); FileStream fs = new FileStream(file, FileMode.Create); writer.WriteReport(report, fs); fs.Close(); Process prc = new Process(); prc.StartInfo.FileName = file; prc.Start(); } else { //frmBankaHarReport frm2 = new frmBankaHarReport(hareketList); //frm2.Show(); } } catch (Exception exc) { MessageBox.Show(exc.Message); LogWrite.Write(exc); } } }
public void SaveReport(string fileName) { string ext = Path.GetExtension(fileName); if (ext == null) { return; } ext = ext.ToLower(); var r = this.CreateReport(fileName); var reportStyle = new ReportStyle(); switch (ext) { case ".txt": using (var s = File.Create(fileName)) { using (var w = new TextReportWriter(s)) { r.Write(w); } } break; case ".html": using (var s = File.Create(fileName)) { using (var w = new HtmlReportWriter(s)) { w.WriteReport(r, reportStyle); } } break; case ".pdf": using (var w = new PdfReportWriter(fileName)) { w.WriteReport(r, reportStyle); } break; case ".rtf": using (var w = new RtfReportWriter(fileName)) { w.WriteReport(r, reportStyle); } break; case ".tex": using (var s = File.Create(fileName)) { using (var w = new LatexReportWriter(s, "Example report", "oxyplot")) { w.WriteReport(r, reportStyle); } } break; case ".xps": using (var w = new FlowDocumentReportWriter()) { w.WriteReport(r, reportStyle); w.Save(fileName); } break; case ".docx": using (var w = new WordDocumentReportWriter(fileName)) { w.WriteReport(r, reportStyle); w.Save(); } break; } }
public Task RunAsync(Jenkins jenkins, HtmlReportWriter htmlReportWriter) { var server = new HttpListener(); // Try and find an unused port int attemptsLeft = 50; int port = 51234; // Try this port first, to try to not vary between runs just because. Random r = new Random((int)DateTime.Now.Ticks); while (attemptsLeft-- > 0) { var newPort = port != 0 ? port : r.Next(49152, 65535); // The suggested range for dynamic ports is 49152-65535 (IANA) server.Prefixes.Clear(); server.Prefixes.Add("http://*:" + newPort + "/"); try { server.Start(); port = newPort; break; } catch (Exception ex) { jenkins.MainLog.WriteLine("Failed to listen on port {0}: {1}", newPort, ex.Message); port = 0; } } jenkins.MainLog.WriteLine($"Created server on localhost:{port}"); var tcs = new TaskCompletionSource <bool> (); var thread = new System.Threading.Thread(() => { while (server.IsListening) { var context = server.GetContext(); var request = context.Request; var response = context.Response; var arguments = System.Web.HttpUtility.ParseQueryString(request.Url.Query); try { var allTasks = jenkins.Tasks.SelectMany((v) => { var rv = new List <ITestTask> (); var runsim = v as AggregatedRunSimulatorTask; if (runsim != null) { rv.AddRange(runsim.Tasks); } rv.Add(v); return(rv); }); IEnumerable <ITestTask> find_tasks(StreamWriter writer, string ids) { IEnumerable <ITestTask> tasks; switch (request.Url.Query) { case "?all": tasks = jenkins.Tasks; break; case "?selected": tasks = allTasks.Where((v) => !v.Ignored); break; case "?failed": tasks = allTasks.Where((v) => v.Failed); break; case "?": writer.WriteLine("No tasks specified"); return(Array.Empty <AppleTestTask> ()); default: var id_inputs = ids.Substring(1).Split(','); var rv = new List <ITestTask> (id_inputs.Length); foreach (var id_input in id_inputs) { if (int.TryParse(id_input, out var id)) { var task = jenkins.Tasks.FirstOrDefault((t) => t.ID == id); if (task == null) { task = jenkins.Tasks.Where((v) => v is AggregatedRunSimulatorTask).Cast <AggregatedRunSimulatorTask> ().SelectMany((v) => v.Tasks).FirstOrDefault((t) => t.ID == id); } if (task == null) { writer.WriteLine($"Could not find test {id}"); } else { rv.Add(task); } } else { writer.WriteLine($"Could not parse {arguments ["id"]}"); } } tasks = rv; break; } return(tasks); } string serveFile = null; switch (request.Url.LocalPath) { case "/": response.ContentType = System.Net.Mime.MediaTypeNames.Text.Html; using (var writer = new StreamWriter(response.OutputStream)) { htmlReportWriter.Write(jenkins.Tasks, writer); } break; case "/set-option": response.ContentType = System.Net.Mime.MediaTypeNames.Text.Plain; switch (request.Url.Query) { case "?clean": jenkins.CleanSuccessfulTestRuns = true; break; case "?do-not-clean": jenkins.CleanSuccessfulTestRuns = false; break; case "?uninstall-test-app": jenkins.UninstallTestApp = true; break; case "?do-not-uninstall-test-app": jenkins.UninstallTestApp = false; break; case "?skip-permission-tests": jenkins.Harness.IncludeSystemPermissionTests = false; break; case "?include-permission-tests": jenkins.Harness.IncludeSystemPermissionTests = true; break; case "?clear-permission-tests": jenkins.Harness.IncludeSystemPermissionTests = null; break; default: throw new NotImplementedException(request.Url.Query); } using (var writer = new StreamWriter(response.OutputStream)) { writer.WriteLine("OK"); } break; case "/select": case "/deselect": response.ContentType = System.Net.Mime.MediaTypeNames.Text.Plain; using (var writer = new StreamWriter(response.OutputStream)) { foreach (var task in allTasks) { bool?is_match = null; if (!(task.Ignored || task.NotStarted)) { continue; } switch (request.Url.Query) { case "?all": is_match = true; break; case "?all-device": is_match = task is RunDeviceTask; break; case "?all-simulator": is_match = task is RunSimulatorTask; break; case "?all-ios": switch (task.Platform) { case TestPlatform.iOS: case TestPlatform.iOS_TodayExtension64: case TestPlatform.iOS_Unified: case TestPlatform.iOS_Unified32: case TestPlatform.iOS_Unified64: is_match = true; break; default: if (task.Platform.ToString().StartsWith("iOS", StringComparison.Ordinal)) { throw new NotImplementedException(); } break; } break; case "?all-tvos": switch (task.Platform) { case TestPlatform.tvOS: is_match = true; break; default: if (task.Platform.ToString().StartsWith("tvOS", StringComparison.Ordinal)) { throw new NotImplementedException(); } break; } break; case "?all-watchos": switch (task.Platform) { case TestPlatform.watchOS: case TestPlatform.watchOS_32: case TestPlatform.watchOS_64_32: is_match = true; break; default: if (task.Platform.ToString().StartsWith("watchOS", StringComparison.Ordinal)) { throw new NotImplementedException(); } break; } break; case "?all-mac": switch (task.Platform) { case TestPlatform.Mac: case TestPlatform.Mac_Modern: case TestPlatform.Mac_Full: case TestPlatform.Mac_System: is_match = true; break; default: if (task.Platform.ToString().StartsWith("Mac", StringComparison.Ordinal)) { throw new NotImplementedException(); } break; } break; default: writer.WriteLine("unknown query: {0}", request.Url.Query); break; } if (request.Url.LocalPath == "/select") { if (is_match.HasValue && is_match.Value) { task.Ignored = false; } } else if (request.Url.LocalPath == "/deselect") { if (is_match.HasValue && is_match.Value) { task.Ignored = true; } } } writer.WriteLine("OK"); } break; case "/stop": response.ContentType = System.Net.Mime.MediaTypeNames.Text.Plain; using (var writer = new StreamWriter(response.OutputStream)) { foreach (var task in find_tasks(writer, request.Url.Query)) { if (!task.Waiting) { writer.WriteLine($"Test '{task.TestName}' is not in a waiting state."); } else { task.Reset(); } } writer.WriteLine("OK"); } break; case "/run": response.ContentType = System.Net.Mime.MediaTypeNames.Text.Plain; using (var writer = new StreamWriter(response.OutputStream)) { // We want to randomize the order the tests are added, so that we don't build first the test for one device, // then for another, since that would not take advantage of running tests on several devices in parallel. foreach (var task in find_tasks(writer, request.Url.Query).Shuffle()) { if (task.InProgress || task.Waiting) { writer.WriteLine($"Test '{task.TestName}' is already executing."); } else { task.Reset(); task.BuildOnly = false; task.RunAsync(); } } writer.WriteLine("OK"); } break; case "/build": response.ContentType = System.Net.Mime.MediaTypeNames.Text.Plain; using (var writer = new StreamWriter(response.OutputStream)) { foreach (var task in find_tasks(writer, request.Url.Query)) { if (task.InProgress || task.Waiting) { writer.WriteLine($"Test '{task.TestName}' is already executing."); } else if (task is RunTestTask rtt) { rtt.Reset(); rtt.BuildAsync().ContinueWith((z) => { if (rtt.ExecutionResult == TestExecutingResult.Built) { rtt.ExecutionResult = TestExecutingResult.BuildSucceeded; } }); } else { writer.WriteLine($"Test '{task.TestName}' is not a test that can be only built."); } } writer.WriteLine("OK"); } break; case "/reload-devices": jenkins.DeviceLoader.LoadDevicesAsync().DoNotAwait(); break; case "/reload-simulators": jenkins.DeviceLoader.LoadSimulatorsAsync().DoNotAwait(); break; case "/quit": using (var writer = new StreamWriter(response.OutputStream)) { writer.WriteLine("<!DOCTYPE html>"); writer.WriteLine("<html>"); writer.WriteLine("<body onload='close ();'>Closing web page...</body>"); writer.WriteLine("</html>"); } server.Stop(); break; case "/favicon.ico": serveFile = Path.Combine(HarnessConfiguration.RootDirectory, "xharness", "favicon.ico"); goto default; case "/index.html": var redirect_to = request.Url.AbsoluteUri.Replace("/index.html", "/" + Path.GetFileName(jenkins.LogDirectory) + "/index.html"); response.Redirect(redirect_to); break; default: var filename = Path.GetFileName(request.Url.LocalPath); if (filename == "index.html" && Path.GetFileName(jenkins.LogDirectory) == Path.GetFileName(Path.GetDirectoryName(request.Url.LocalPath))) { // We're asked for the report for the current test run, so re-generate it. jenkins.GenerateReport(); } if (serveFile == null) { serveFile = Path.Combine(Path.GetDirectoryName(jenkins.LogDirectory), request.Url.LocalPath.Substring(1)); } var path = serveFile; if (File.Exists(path)) { var buffer = new byte [4096]; using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { int read; response.ContentLength64 = fs.Length; switch (Path.GetExtension(path).ToLowerInvariant()) { case ".html": response.ContentType = System.Net.Mime.MediaTypeNames.Text.Html; break; case ".css": response.ContentType = "text/css"; break; case ".js": response.ContentType = "text/javascript"; break; case ".ico": response.ContentType = "image/png"; break; default: response.ContentType = System.Net.Mime.MediaTypeNames.Text.Plain + ";charset=UTF-8"; break; } while ((read = fs.Read(buffer, 0, buffer.Length)) > 0) { response.OutputStream.Write(buffer, 0, read); } } } else { Console.WriteLine($"404: {request.Url.LocalPath}"); response.StatusCode = 404; response.OutputStream.WriteByte((byte)'?'); } break; } } catch (IOException ioe) { Console.WriteLine(ioe.Message); } catch (Exception e) { Console.WriteLine(e); } response.Close(); } tcs.SetResult(true); }) { IsBackground = true, }; thread.Start(); var url = $"http://localhost:{port}/" + Path.GetFileName(jenkins.LogDirectory) + "/index.html"; Console.WriteLine($"Launching {url} in the system's default browser."); Process.Start("open", url); return(tcs.Task); }
private void btnPrint_Click(object sender, EventArgs e) { frmRaporDialog frm = new frmRaporDialog(true, true, true, false); frm.ShowDialog(); ReportTo?dest = frm.GetReportDestination(); if (dest.HasValue) { try { if (dest != ReportTo.CrytalReport) { List <DurumGelirGider> liste = new List <DurumGelirGider>(); liste.Add(_gelirler); var report = new Report(liste.ToReportSource()); // Customize the Text Fields report.RenderHints.IncludePageNumbers = true; report.TextFields.Title = "Genel Durum Raporu"; report.TextFields.Header = string.Format(@" Rapor Tarihi:{0} Toplam Gelir:{1:F} Toplam Gider:{2:F} Bakiye:{3:F} Rapor Tarih Aralığı:{4} ", DateTime.Now, toplamGelir(), toplamGider(), bakiye(), GetTarihAraligi()); //report.DataFields["Alacak"].DataFormatString = "{0:F2}"; //report.DataFields["Borc"].DataFormatString = "{0:F2}"; //report.DataFields["AlacakBakiyesi"].DataFormatString = "{0:F2}"; //report.DataFields["BorcBakiyesi"].DataFormatString = "{0:F2}"; string fileName = "genelDurumRaporu.xls"; IReportWriter writer = new ExcelReportWriter(); if (dest.Value == ReportTo.Html) { writer = new HtmlReportWriter(); fileName = "genelDurumRaporu.html"; } else if (dest.Value == ReportTo.Csv) { writer = new DelimitedTextReportWriter(); fileName = "genelDurumRaporu.txt"; } string file = Path.Combine(Engine.DokumanPath(), fileName); FileStream fs = new FileStream(file, FileMode.Create); writer.WriteReport(report, fs); fs.Close(); Process prc = new Process(); prc.StartInfo.FileName = file; prc.Start(); } else { //frmStokHareketDokumuForCrytalReport frm2 = new frmStokHareketDokumuForCrytalReport(_source); //frm2.Show(); } } catch (Exception exc) { MessageBox.Show(exc.Message); LogWrite.Write(exc); } } }
private void btnPrint_Click(object sender, EventArgs e) { frmRaporDialog frm = new frmRaporDialog(true, true, true, false); frm.ShowDialog(); ReportTo?dest = frm.GetReportDestination(); if (dest.HasValue) { try { if (dest != ReportTo.CrytalReport) { var report = new Report(_source.ToReportSource()); // Customize the Text Fields report.RenderHints.IncludePageNumbers = true; report.TextFields.Title = tabPage2.Text; report.TextFields.Header = string.Format(@" Rapor Tarihi:{0} Stok:{2} Toplam Adet:{2} Toplam Tutar:{3} Rapor Tarih Aralığı:{4} ", DateTime.Now, SecilenStok(), _source.Compute("sum(Miktar)", ""), _source.Compute("sum(Tutar)", ""), GetTarihAraligi()); report.DataFields["Tarih"].DataFormatString = "{0:d}"; report.DataFields["BirimFiyat"].DataFormatString = "{0:F2}"; report.DataFields["Tutar"].DataFormatString = "{0:F2}"; string fileName = StokAlisSatisRapor.AlisRapor == _alisSatis ? "malAlisRapor" : "malSatisRapor"; IReportWriter writer = new ExcelReportWriter(); if (dest.Value == ReportTo.Excel) { fileName = fileName + ".xls"; } else if (dest.Value == ReportTo.Html) { writer = new HtmlReportWriter(); fileName = fileName + ".html"; } else if (dest.Value == ReportTo.Csv) { writer = new DelimitedTextReportWriter(); fileName = fileName + ".txt"; } string file = Path.Combine(Engine.DokumanPath(), fileName); FileStream fs = new FileStream(file, FileMode.Create); writer.WriteReport(report, fs); fs.Close(); Process prc = new Process(); prc.StartInfo.FileName = file; prc.Start(); } else { //frmStokAlisSatisRaporCrytalRapor frm2 = new frmStokAlisSatisRaporCrytalRapor(_source); //frm2.Show(); } } catch (Exception exc) { MessageBox.Show(exc.Message); LogWrite.Write(exc); } } }
private void btnPrint_Click(object sender, EventArgs e) { frmRaporDialog frm = new frmRaporDialog(true, true, true, false); frm.ShowDialog(); ReportTo?dest = frm.GetReportDestination(); if (dest.HasValue) { try { if (dest != ReportTo.CrytalReport) { var report = new Report(_source.ToReportSource()); // Customize the Text Fields report.RenderHints.IncludePageNumbers = true; report.TextFields.Title = tabPageFiltre.Text; report.TextFields.Header = string.Format(@" Rapor Tarihi:{0} Stok:{1} Rapor Tarih Aralığı:{2} ", DateTime.Now, SecilenStok(), GetTarihAraligi() ); //report.DataFields["Tarih"].DataFormatString = "{0:d}"; //report.DataFields["BirimFiyat"].DataFormatString = "{0:F2}"; //report.DataFields["Tutar"].DataFormatString = "{0:F2}"; report.RenderHints["HtmlStyle"] = "th { font-size: 13px !important;font-weight:bold !important;}"; report.RenderHints["HtmlStyle"] = "td { font-size: 11px !important;line-height:1em; }"; report.DataFields["KalanMiktar"].ShowTotals = true; report.DataFields["SatisMiktar"].ShowTotals = true; report.DataFields["AlisMiktar"].ShowTotals = true; report.DataFields["OrtalamaAlisFiyat"].ShowTotals = true; report.DataFields["OrtalamaSatisFiyat"].ShowTotals = true; report.DataFields["AlisTutar"].ShowTotals = true; report.DataFields["SatisTutar"].ShowTotals = true; report.DataFields["KalanMalinMaliyeti"].ShowTotals = true; string fileName = "malMaliyetRaporu"; IReportWriter writer = new ExcelReportWriter(); if (dest.Value == ReportTo.Excel) { fileName = fileName + ".xls"; } else if (dest.Value == ReportTo.Html) { writer = new HtmlReportWriter(); fileName = fileName + ".html"; } else if (dest.Value == ReportTo.Csv) { writer = new DelimitedTextReportWriter(); fileName = fileName + ".txt"; } string file = Path.Combine(Engine.DokumanPath(), fileName); FileStream fs = new FileStream(file, FileMode.Create); writer.WriteReport(report, fs); fs.Close(); Process prc = new Process(); prc.StartInfo.FileName = file; prc.Start(); } else { //frmStokAlisSatisRaporCrytalRapor frm2 = new frmStokAlisSatisRaporCrytalRapor(_source); //frm2.Show(); } } catch (Exception exc) { MessageBox.Show(exc.Message); LogWrite.Write(exc); } } }
void RenderReport(HttpContext context) { var type = context.Request.QueryString["type"]; Report report; switch (type) { case "GdpByYear": report = Reports.GdpByYearReport.Generate(); break; case "GdpByCountry": report = Reports.GdpByCountryReport.Generate(); break; case "BiggestCountries": report = Reports.GdpYearColumnReport.BiggestCountries(); break; case "FastestGrowingCountries": report = Reports.GdpYearColumnReport.FastestGrowingCountries(); break; case "BestCountries": report = Reports.GdpYearColumnReport.BestCountries(); break; default: throw new InvalidOperationException("Invalid report type."); } try { switch (context.Request.QueryString["format"]) { case "pdf": var url = context.Request.Url.ToString().Replace("format=pdf", "print=1"); PdfConvert.ConvertHtmlToPdf(new PdfDocument { Url = url }, new PdfOutput { OutputStream = context.Response.OutputStream }); context.Response.SetFileDownloadHeaders(String.Format("Report{0}.pdf", DateTime.Now.Ticks)); break; case "text": context.Response.SetFileDownloadHeaders(String.Format("Report{0}.txt", DateTime.Now.Ticks)); TextReportWriter.WriteTo(report, context.Response.Output); break; case "xlsx": context.Response.SetFileDownloadHeaders(String.Format("Report{0}.xlsx", DateTime.Now.Ticks)); XlsxReportWriter.WriteToStream(report, Themes.Default, context.Response.OutputStream); break; default: var output = new HtmlTextWriter(context.Response.Output); var htmlWriter = new HtmlReportWriter(output); htmlWriter.RegisterCss(DextopUtil.AbsolutePath("client/css/report.css")); if (context.Request.QueryString["print"] == null) { htmlWriter.RegisterCss(DextopUtil.AbsolutePath("client/css/report-preview.css")); } htmlWriter.Write(report, new DefaultHtmlReportTheme()); break; } } catch (Exception ex) { context.Response.Write(ex.ToString()); } }