public byte[] GetPDF(Int32 habReviewId, BaseController claimsApiController, out String name, DateTime?templateDate) { ConsumerHabReview document = _context.ConsumerHabReviews.SingleOrDefault(x => x.Id == habReviewId); name = ""; if (document == null) { return(null); } var reportViewer = new ReportViewer(); reportViewer.Reset(); reportViewer.LocalReport.EnableExternalImages = true; reportViewer.ProcessingMode = ProcessingMode.Local; IPDFhabReviewReportModel habReviewTypeInstance = ReportTypesFactory.GetAppropriateHabReviewReportType((ServiceTypeIdEnum)document.ServiceId); if (habReviewTypeInstance == null) { throw new Exception("Wrong service type for printing the document"); } habReviewTypeInstance.CalculateTemplatePath(templateDate, _context); reportViewer.LocalReport.ReportPath = claimsApiController.Server.MapPath(habReviewTypeInstance.ReportPath); Contact coordinatorContact = habReviewTypeInstance.GetCoordinatorContact(document); string titleDocument = habReviewTypeInstance.TitleDocument; bool showReviewedBy = habReviewTypeInstance.ShowReviewedBy; string coordinatorLabel = habReviewTypeInstance.CoordinatorLabel; name = habReviewTypeInstance.Name; var dataset = GenerateDataSetForHabReview(document, habReviewTypeInstance); reportViewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dataset)); return(RenderPDF(reportViewer)); }
public IEnumerable <object> GenerateDataSetForHabReview(ConsumerHabReview document, IPDFhabReviewReportModel habReviewTypeInstance) { IEnumerable <object> timeObjs = null; int participantCount; List <string> participants = this.GetParticipants(document, out participantCount); var stateIssue = document.ConsumerHabReviewIssueStates == null ? new ConsumerHabReviewIssueState() : document.ConsumerHabReviewIssueStates.First(); if (document != null) { timeObjs = new[] { new { PatientName = this.GetName(document.Consumer), Medicaid = document.Consumer.MedicaidNo, PatientDOB = document.Consumer.DateOfBirth.ToDateString(), DateReview = document.DateReview.ToDateString(), SignatureDate = document.SignatureDate.ToDateString(), CHCoordinator = habReviewTypeInstance.CoordinatorContact != null?this.GetName(habReviewTypeInstance.CoordinatorContact) : "", MSC = document.ContactMSC != null?this.GetName(document.ContactMSC) : "", Participant1 = participants[0], Participant2 = participants[1], Participant3 = participants[2], Participant4 = participants[3], Participant5 = participants[4], Participant6 = participants[5], Participant7 = participants[6], Participant8 = participants[7], ValuedOutcomesState = GetIssueState(stateIssue.ValuedOutcomesState), CommunityHabilitationPlanState = GetIssueState(stateIssue.CommunityHabilitationPlanState), SafeguardChangeState = GetIssueState(stateIssue.SafeguardChangeState), IndividualsSatisfactionState = GetIssueState(stateIssue.IndividualsSatisfactionState), AdvocatesSatisfactionState = GetIssueState(stateIssue.AdvocatesSatisfactionState), SignificantChangesState = GetIssueState(stateIssue.SignificantChangesState), SignificantHealthState = GetIssueState(stateIssue.SignificantHealthState), TitleDocument = habReviewTypeInstance.TitleDocument, ShowReviewedBy = habReviewTypeInstance.ShowReviewedBy, CHSignature = GetCHsignature(document, habReviewTypeInstance.CoordinatorContact), CHSignatureMimeType = GetCHsignatureType(document, habReviewTypeInstance.CoordinatorContact), Note = document.Notes, CoordinatorLabel = habReviewTypeInstance.CoordinatorLabel, ParticipantCount = participantCount } }; } return(timeObjs); }