public async Task <ConsumerHabReview> GetDefaultModel(Int32 consumerId)
        {
            var model = await _context.Consumers.SingleOrDefaultAsync(x => x.ConsumerId == consumerId);

            ConsumerHabReview result = new ConsumerHabReview()
            {
                CHCoordinatorId      = model.CHCoordinatorId,
                ContactCHCoordinator = model.CHCoordinatorId.HasValue
                    ? _context.Contacts.SingleOrDefault(x => x.ContactId == model.CHCoordinatorId.Value)
                    : null,

                DHCoordinatorId      = model.DHCoordinatorId,
                ContactDHCoordinator = model.DHCoordinatorId.HasValue
                    ? _context.Contacts.SingleOrDefault(x => x.ContactId == model.DHCoordinatorId.Value)
                    : null,

                MSCId      = model.MSCId,
                ContactMSC = model.MSCId.HasValue
                    ? _context.Contacts.SingleOrDefault(x => x.ContactId == model.MSCId.Value)
                    : null,

                AdvocateId      = model.AdvocateId,
                ContactAdvocate = model.AdvocateId.HasValue
                    ? _context.Contacts.SingleOrDefault(x => x.ContactId == model.AdvocateId.Value)
                    : null
            };

            return(result);
        }
 private byte[] GetCHsignature(ConsumerHabReview document, Contact coordinatorContact)
 {
     byte[] chSignature = null;
     if (document.IsAutoSignature)
     {
         chSignature = (coordinatorContact?.Signature != null
             ? Convert.FromBase64String(coordinatorContact.Signature.Split(',')[1])
             : null);
     }
     return(chSignature);
 }
Esempio n. 3
0
        public ConsumerHabReviewViewModel(ConsumerHabReview model)
        {
            this.ConsumerHabReviewId = model.Id;
            this.ServiceId           = model.ServiceId;
            if (model.ServiceType != null)
            {
                this.ServiceName = model.ServiceType.Name;
            }

            if (model.ContactCHCoordinator != null)
            {
                this.CHCoordinator = new EmployeeSearchViewModel(model.ContactCHCoordinator);
            }

            if (model.ContactDHCoordinator != null)
            {
                this.DHCoordinator = new EmployeeSearchViewModel(model.ContactDHCoordinator);
            }

            if (model.ContactMSC != null)
            {
                this.MSC = new EmployeeSearchViewModel(model.ContactMSC);
            }

            this.Parents = model.Parents;
            this.Others  = model.Others;
            this.Others2 = model.Others2;
            this.Others3 = model.Others3;

            this.IsIncludeIndividialToParticipant = model.IsIncludeIndividialToParticipant;
            this.IsAutoSignature  = model.IsAutoSignature;
            this.IsMSCParticipant = model.IsMSCParticipant;
            this.Notes            = model.Notes;

            this.DateCreated = model.DateCreated;
            this.DateUpdated = model.DateUpdated;

            this.AddedById = model.AddedById;
            if (model.SystemUserAddedBy != null)
            {
                this.AddedByName = model.SystemUserAddedBy.LastName + ", " + model.SystemUserAddedBy.FirstName;
            }

            this.UpdatedById   = model.UpdatedById;
            this.UpdatedByName = "";
            if (model.SystemUserUpdatedBy != null)
            {
                this.UpdatedByName = model.SystemUserUpdatedBy.LastName + ", " + model.SystemUserUpdatedBy.FirstName;
            }

            this.ConsumerHabReviewIssueStates = new ConsumerHabReviewIssueStatesModel(model.ConsumerHabReviewIssueStates.FirstOrDefault());
            this.DateReview    = model.DateReview;
            this.SignatureDate = model.SignatureDate;
        }
        private string GetCHsignatureType(ConsumerHabReview document, Contact coordinatorContact)
        {
            string chSignatureType = string.Empty;

            if (document.IsAutoSignature)
            {
                chSignatureType = (coordinatorContact != null
                    ? coordinatorContact.Signature?.Split(';')[0].Split(':')[1]
                    : "");
            }
            return(chSignatureType);
        }
        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);
        }
Esempio n. 6
0
        public ConsumerHabReview GetModel()
        {
            ConsumerHabReview model = new ConsumerHabReview();

            if (this.ConsumerHabReviewId.HasValue)
            {
                model.Id = this.ConsumerHabReviewId.Value;
            }
            else
            {
                model.Id = 0;
            }
            model.ConsumerId = this.ConsumerId;
            model.ServiceId  = this.ServiceId;

            model.CHCoordinatorId = CHCoordinator?.ContactId;
            model.DHCoordinatorId = DHCoordinator?.ContactId;
            model.MSCId           = MSC?.ContactId;

            model.Parents = this.Parents;
            model.Others  = this.Others;
            model.Others2 = this.Others2;
            model.Others3 = this.Others3;

            model.IsIncludeIndividialToParticipant = this.IsIncludeIndividialToParticipant;
            model.IsAutoSignature = this.IsAutoSignature;

            model.IsMSCParticipant = this.IsMSCParticipant;

            model.Notes = this.Notes;



            model.AddedById     = this.AddedById;
            model.UpdatedById   = this.UpdatedById;
            model.DateCreated   = this.DateCreated;
            model.DateUpdated   = this.DateUpdated;
            model.DateReview    = this.DateReview;
            model.SignatureDate = this.SignatureDate;

            model.ConsumerHabReviewIssueStates = new List <ConsumerHabReviewIssueState>()
            {
                this.ConsumerHabReviewIssueStates.GetModel()
            };
            return(model);
        }
        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 async Task <Int32> Save(ConsumerHabReview dbModel)
        {
            if (dbModel.Id == 0)
            {
                _context.ConsumerHabReviews.Add(dbModel);
            }
            else
            {
                var model = await _context.ConsumerHabReviews.SingleOrDefaultAsync(x => x.Id == dbModel.Id);

                if (model != null)
                {
                    model.ConsumerId = dbModel.ConsumerId;
                    model.ServiceId  = dbModel.ServiceId;

                    model.CHCoordinatorId = dbModel.CHCoordinatorId;
                    model.DHCoordinatorId = dbModel.DHCoordinatorId;
                    model.MSCId           = dbModel.MSCId;
                    model.AdvocateId      = dbModel.AdvocateId;

                    model.Parents = dbModel.Parents;
                    model.Others  = dbModel.Others;
                    model.Others2 = dbModel.Others2;
                    model.Others3 = dbModel.Others3;
                    model.IsIncludeIndividialToParticipant = dbModel.IsIncludeIndividialToParticipant;
                    model.IsAutoSignature  = dbModel.IsAutoSignature;
                    model.IsMSCParticipant = dbModel.IsMSCParticipant;

                    model.Notes = dbModel.Notes;

                    model.AddedById     = dbModel.AddedById;
                    model.UpdatedById   = dbModel.UpdatedById;
                    model.DateCreated   = dbModel.DateCreated;
                    model.DateUpdated   = dbModel.DateUpdated;
                    model.DateReview    = dbModel.DateReview;
                    model.SignatureDate = dbModel.SignatureDate;
                }
            }
            await _context.SaveChangesAsync();

            var issueModel =
                await _context.ConsumerHabReviewIssueStates.SingleOrDefaultAsync(x =>
                                                                                 x.ConsumerHabReviewId == dbModel.Id);

            var issueData = dbModel.ConsumerHabReviewIssueStates.First();

            if (issueModel != null)
            {
                issueModel.AdvocatesSatisfactionState     = issueData.AdvocatesSatisfactionState;
                issueModel.CommunityHabilitationPlanState = issueData.CommunityHabilitationPlanState;
                issueModel.SignificantChangesState        = issueData.SignificantChangesState;
                issueModel.SafeguardChangeState           = issueData.SafeguardChangeState;
                issueModel.SignificantHealthState         = issueData.SignificantHealthState;
                issueModel.IndividualsSatisfactionState   = issueData.IndividualsSatisfactionState;
                issueModel.ValuedOutcomesState            = issueData.ValuedOutcomesState;
            }
            else
            {
                issueData.Id = Guid.NewGuid();
                issueData.ConsumerHabReviewId = dbModel.Id;
                _context.ConsumerHabReviewIssueStates.Add(issueData);
            }
            await _context.SaveChangesAsync();

            return(dbModel.Id);
        }
        public List <String> GetParticipants(ConsumerHabReview document, out int countRows)
        {
            List <String> result = new List <string>();

            if (document.ServiceId == 1)
            {
                String chCoordinator = document.ContactCHCoordinator != null
                    ? this.GetName(document.ContactCHCoordinator) + " - CH Coordinator"
                    : "";

                if (!String.IsNullOrEmpty(chCoordinator))
                {
                    result.Add(chCoordinator);
                }
            }
            if (document.ServiceId == 2)
            {
                String dhCoordinator = document.ContactDHCoordinator != null
                    ? this.GetName(document.ContactDHCoordinator) + " - DH Coordinator"
                    : "";

                if (!String.IsNullOrEmpty(dhCoordinator))
                {
                    result.Add(dhCoordinator);
                }
            }
            String msc = document.ContactMSC != null?this.GetName(document.ContactMSC) + " - MSC" : "";

            if (!String.IsNullOrEmpty(msc) && document.IsMSCParticipant)
            {
                result.Add(msc);
            }

            if (!String.IsNullOrEmpty(document.Parents))
            {
                result.Add(document.Parents + " - Parent");
            }

            if (document.IsIncludeIndividialToParticipant)
            {
                result.Add(this.GetName(document.Consumer) + " - Individual");
            }

            if (!String.IsNullOrEmpty(document.Others))
            {
                result.Add(document.Others);
            }

            if (!String.IsNullOrEmpty(document.Others2))
            {
                result.Add(document.Others2);
            }

            if (!String.IsNullOrEmpty(document.Others3))
            {
                result.Add(document.Others3);
            }
            countRows = result.Count;
            var count = 8 - result.Count;

            for (Int32 i = 0; i < count; i++)
            {
                result.Add(String.Empty);
            }
            return(result);
        }
Esempio n. 10
0
 public override Contact GetCoordinatorContact(ConsumerHabReview document)
 {
     return(CoordinatorContact = document.ContactDHCoordinator ?? null);
 }
Esempio n. 11
0
 public virtual Contact GetCoordinatorContact(ConsumerHabReview document)
 {
     return(new Contact());
 }
Esempio n. 12
0
 public virtual IEnumerable <object> CreateDataSet(ConsumerHabReview document)
 {
     return(new List <object>());
 }