Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        // 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));
        }
Exemplo n.º 4
0
        // POST api/projectSummaryPrintSession
        public IHttpActionResult Post([FromBody] ProjectSummaryPrintSessionDTO model)
        {
            var updatedModel = ProjectSummaryPrintSessionService.AddOrUpdateSession(model);

            return(Ok(updatedModel));
        }