コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }