public HttpResponseMessage DownloadZip(Guid id, bool timeline, bool locations, bool piechart) { if (id == Guid.Empty) { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } var session = ProjectSummaryPrintSessionService.GetSession(id); if (session == null) { return(new HttpResponseMessage(HttpStatusCode.NotFound)); } if (CurrentUser is OrgUser) { var subscriptionService = new SubscriptionService(UnitOfWork); if (!subscriptionService.HasAccessToExportZip(CurrentOrgUser, session.ProjectId)) { return(new HttpResponseMessage(HttpStatusCode.Unauthorized)); } } return(ExportZipFile(session, id, timeline, locations, piechart)); }
public HttpResponseMessage DownloadPdf(Guid id, bool timeline, bool locations, bool piechart) { if (id == Guid.Empty) { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } var session = ProjectSummaryPrintSessionService.GetSession(id); if (session == null) { return(new HttpResponseMessage(HttpStatusCode.NotFound)); } if (CurrentUser is OrgUser) { var subscriptionService = new SubscriptionService(UnitOfWork); if (!subscriptionService.HasAccessToExportPdf(CurrentOrgUser, session.ProjectId)) { return(new HttpResponseMessage(HttpStatusCode.Unauthorized)); } } var rootIndex = WebHelpers.GetRootIndexPath(); var authData = $"{{\"token\":\"{HttpContext.Current.Request.Headers["Authorization"].Substring(7)}\",\"email\":\"{CurrentUser.Email}\"}}"; var url = $"{Request.RequestUri.Scheme}://{Request.RequestUri.Authority}/{rootIndex}?authData={authData}#!/projects/summary/print/{id.ToString()}?timeline={timeline}&locations={locations}&piechart={piechart}"; var projectName = UnitOfWork.ProjectsRepository.Find(session.ProjectId).Name; var pdfFileName = $"{projectName}.pdf"; var pdfData = ConvertHtmlToPdf(url); return(CreatePdfResponseMessage(pdfData, projectName)); }
// GET api/projectSummaryPrintSession/{id} public IHttpActionResult Get(Guid id) { if (id == Guid.Empty) { return(BadRequest("id is empty")); } var session = ProjectSummaryPrintSessionService.GetSession(id); if (session == null) { return(NotFound()); } return(Ok(session)); }