Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="patientVisit"></param>
        /// <param name="Template"></param>

        /// <returns></returns>
        public PatientVisitDto AddNewPatientVisit(PatientVisit patientVisit, TestTemplate Template)
        {
            PatientVisitHelper visithelp = new PatientVisitHelper();

            MapperConfig.ConfigAutoMapper();

            if (this.ValidateVisit(patientVisit))
            {
                patientVisit.CreatedDate  = DateTime.Now;
                patientVisit.CreatedBy    = "EMP";
                patientVisit.ModifiedDate = new DateTime(2017, 12, 2);
                patientVisit.ModifiedBy   = string.Empty;

                // if (DoctorRepository.GetDoctor(patientVisit.Doctor.DoctorId) == null)
                if (DoctorHelp.GetDoctorByName(patientVisit.Doctor.DoctorName) == null ||
                    DoctorHelp.GetDoctorBySpeciality(patientVisit.Doctor.DoctorSpeciality) == null)
                {
                    this.AddNewDoctor(patientVisit.Doctor);

                    System.Diagnostics.Debug.WriteLine("Doctor Added");

                    patientVisit.Doctor = DoctorHelp.GetDoctorByName(patientVisit.Doctor.DoctorName);
                }
                else
                {
                    patientVisit.DoctorID = DoctorHelp.GetDoctorByName(patientVisit.Doctor.DoctorName).DoctorId;

                    patientVisit.Doctor = DoctorHelp.GetDoctorByName(patientVisit.Doctor.DoctorName);

                    System.Diagnostics.Debug.WriteLine("Doctor Exists");
                }


                if (PatientRepository.GetPatient(patientVisit.Patient.ContactNo) == null)
                {
                    this.AddNewPatient(patientVisit.Patient);

                    patientVisit.Patient = PatientRepository.GetPatient(patientVisit.Patient.ContactNo);

                    System.Diagnostics.Debug.WriteLine("Patient Added");
                }
                else
                {
                    patientVisit.PatientID = PatientRepository.GetPatient(patientVisit.Patient.ContactNo).PatientId;

                    patientVisit.Patient = PatientRepository.GetPatient(patientVisit.Patient.ContactNo);

                    System.Diagnostics.Debug.WriteLine("Patient Exists");
                }

                patientVisit.UserId = UserRepository.GetUser(patientVisit.User.Username).UserId;

                patientVisit.User.RoleId = 1;

                patientVisit.User = UserRepository.GetUser(patientVisit.User.Username);

                var NewVisit = PatientVisitRepo.Insert(Mapper.Map <PatientVisit>(patientVisit));
                Mapper.Map <PatientVisitDto>(NewVisit);

                System.Diagnostics.Debug.WriteLine("Visit Added");

                int VisitId = NewVisit.PatientVisitId;

                this.AddNewPatientTest(VisitId, Template);

                System.Diagnostics.Debug.WriteLine("Patient Test Added");

                int testTemplateID = TestTemplateRepository.GetTestTemplate(Template.TemplateName).TestTemplateId;

                IList <TestTemplateAttributeDto> TestAttribute = visithelp.GetTestTemplateAttributes(testTemplateID);

                TestResult results = new TestResult();

                foreach (var x in TestAttribute)
                {
                    results.AttrID  = x.AttrID;
                    results.VisitID = VisitId;
                    results.Status  = "NO STATUS YET";
                    results.Value   = "NO VALUE YET";
                    this.AddNewTestResult(results);
                }

                System.Diagnostics.Debug.WriteLine("Result Added");
            }

            else
            {
                throw new ArgumentNullException("Provided information is not valid.");
            }

            return(null);
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="printreport"></param>
        /// <returns></returns>
        public TestResultDto PrintReport(TestResultDto printreport)
        {
            MapperConfig.ConfigAutoMapper();



            if (printreport != null)
            {
                int patientid = visit.GetVisit(printreport.VisitID).PatientID;
                var patient   = base.context.Patients.AsNoTracking().FirstOrDefault(p => p.PatientId.Equals(patientid));

                String name    = patient.Name;
                int    age     = patient.Age;
                string sex     = patient.Gender;
                string address = patient.Address;
                string number  = patient.ContactNo;

                DateTime arrivedate = visit.GetVisit(printreport.VisitID).ArriveDate;
                DateTime ExpDelDate = visit.GetVisit(printreport.VisitID).ExpectedDeliveryDate;

                int TesTID       = test.GetTest(printreport.VisitID).TemplateID;
                var testTemplate = base.context.TestTemplates.FirstOrDefault(p => p.TestTemplateId.Equals(TesTID));


                string  templatename = testTemplate.TemplateName;
                int     temID        = testTemplate.TestTemplateId;
                decimal price        = testTemplate.Price;


                IList <TestResultDto>            results = resultSet.GetTestResults(printreport.VisitID);
                IList <TestTemplateAttributeDto> Attribs = VisitHelper.GetTestTemplateAttributes(temID);
                string path     = Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments);
                string fileName = "" + path + "\\Report.docx";

                var doc = DocX.Create(fileName);

                doc.InsertParagraph(" __________________________________________________________________________________________________                                  ");
                doc.InsertParagraph("");
                doc.InsertParagraph("                      MEDICAL LAB REPORT MANAGEMENT SYSTEM  |  FINAL TEST REPORT ");
                doc.InsertParagraph("");
                doc.InsertParagraph(" __________________________________________________________________________________________________                                  ");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph("     Patient Name : " + name + "                                    Gender : " + sex + "                                             ");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph("     Patient Age : " + age + "                                                        Address:" + address + "   Payment : RS: " + price + "");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph("     Contact Number : " + number + "                                    Test : " + templatename + "                                  ");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph("");

                doc.InsertParagraph("     Arrived Date: " + arrivedate + "                      Deliver Date:" + ExpDelDate + "                                           ");
                doc.InsertParagraph("                                                                                                                                     ");
                doc.InsertParagraph(" __________________________________________________________________________________________________                                  ");

                doc.InsertParagraph("");
                doc.InsertParagraph("     Patients Results ");
                doc.InsertParagraph("");
                doc.InsertParagraph("");

                int seq = 1;
                foreach (var x in results)
                {
                    doc.InsertParagraph("     " + seq + "           Value: " + x.Value + "              Status : " + x.Status + "");
                    doc.InsertParagraph("");
                    seq++;

                    if (seq > Attribs.Count)
                    {
                        break;
                    }
                }

                doc.InsertParagraph("");
                doc.InsertParagraph("");
                doc.InsertParagraph("    Reffer below Information. ");
                doc.InsertParagraph("");
                doc.InsertParagraph("");

                int NextSeq = 1;
                foreach (var x in Attribs)
                {
                    doc.InsertParagraph("     " + NextSeq + " . " + x.Attribute + " --> " + x.PrefferedLimit + "");
                    doc.InsertParagraph("");
                    doc.InsertParagraph("");
                    NextSeq++;
                }

                doc.Save();

                /*Open as html format*/
                SautinSoft.RtfToHtml z = new SautinSoft.RtfToHtml();
                string docxFile        = Path.GetFullPath(fileName);
                string htmlFile        = Path.ChangeExtension(docxFile, ".html");

                z.OpenDocx(docxFile);
                z.ToHtml(htmlFile);
                System.Diagnostics.Process.Start(htmlFile);

                return(null);
            }

            else
            {
                throw new ArgumentNullException("Provided information is not valid.");
            }
        }