예제 #1
0
        public Model.Patient RegisterPatient(string patientFirstName, string patientLastName, string nationalCode, int doctorId, string mobile, string description, bool isIranian)
        {
            // بررسی وجود بیمار با استفاده از کدملی
            var PatientObject = GetPatientByNationalCode(nationalCode);
            // چنین بیماری از قبل وجو نداشته و فرایند ثبت جدید باید انجام شود
            string RandomNo = FileID.ID(10).ToString();

            if (PatientObject == null)
            {
                bool IsAffected = AddPatient(new Model.Patient
                {
                    Address      = "",
                    Code         = GetNewPatientCodeToRegister(),
                    City         = "",
                    FirstName    = patientFirstName,
                    GenderIsMale = null,
                    LastName     = patientLastName,
                    Mobile       = mobile,
                    NationalCode = (isIranian ? nationalCode: RandomNo),
                    Province     = "",
                    RegisterDate = DateTime.Now,
                    IsIranian    = isIranian,
                    IsDeleted    = false
                });

                if (!IsAffected)
                {
                    throw Common.MegaException.ThrowException("امکان ثبت این کاربر وجود ندارد.لطفا با واحد فنی تماس بگیرید.");
                }
            }
            PatientObject = GetPatientByNationalCode((isIranian ? nationalCode : RandomNo));

            Model.Doctor         DoctorObject         = new DoctorService().GetDoctorById(doctorId);
            MedicalRecordService medicalRecordService = new MedicalRecordService();
            var IsMedicalRecordInserted = medicalRecordService.AddMedicalRecord(new Model.MedicalRecord
            {
                DoctorId                       = doctorId,
                DoctorFirstName                = DoctorObject.FirstName,
                DoctorLastName                 = DoctorObject.LastName,
                PatientFirstName               = PatientObject.FirstName,
                PatientLastName                = PatientObject.LastName,
                PatientId                      = Convert.ToInt32(PatientObject.Id),
                ReceptionDate                  = PatientObject.RegisterDate,
                TreatmentProcessId             = 1, // پذیرش شده
                LastTreatmentProcessChangeDate = DateTime.Now,
            });


            if (!IsMedicalRecordInserted)
            {
                throw Common.MegaException.ThrowException("امکان ثبت این کاربر وجود ندارد.لطفا با واحد فنی تماس بگیرید.");
            }

            return(PatientObject);
        }