public IHttpActionResult Get()
        {
            Dictionary <string, string> query = Request.QueryParameters();

            DateTime startTime = DateTime.Parse(query["startDate"]);
            DateTime endTime   = DateTime.Parse(query["endDate"]);

            AllBreakersReport report = new AllBreakersReport(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 = "AllBreakersReport_" + startTime.ToString("MM_dd_yyyy") + "_" + endTime.ToString("MM_dd_yyyy") + ".pdf"
                };

                result.Content.Headers.ContentType =
                    new MediaTypeHeaderValue("application/pdf");

                return(ResponseMessage(result));
            }
        }
Exemple #2
0
        public DataTable QueryAllData(DateTime fromDate, DateTime toDate)
        {
            AllBreakersReport report = new AllBreakersReport(fromDate, toDate);

            return(report.DataTable);
        }