public IHttpActionResult Get() { Dictionary <string, string> query = Request.QueryParameters(); string breakerId = query["breakerId"]; DateTime startTime = DateTime.Parse(query["startDate"]); DateTime endTime = DateTime.Parse(query["endDate"]); IndividualBreakerReport report = new IndividualBreakerReport(breakerId, startTime, endTime); byte[] pdf = report.createPDF(); using (MemoryStream stream = new MemoryStream()) { if (pdf == null) { return(BadRequest()); } stream.WriteAsync(pdf, 0, pdf.Length); HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(stream.ToArray()), }; result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue($"inline") { FileName = "IndividualBreakerReport_" + breakerId + "_" + startTime.ToString("MM_dd_yyyy") + "_" + endTime.ToString("MM_dd_yyyy") + ".pdf" }; result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); return(ResponseMessage(result)); } }
public DataTable QueryIndividualData(string breaker, DateTime fromDate, DateTime toDate) { IndividualBreakerReport report = new IndividualBreakerReport(breaker, fromDate, toDate); return(report.TimingDataTable); }