예제 #1
0
 public Diagnosis GetDiagnosisById(long id)
 {
     return(diagnosisRepository.GetDiagnosisById(id));
 }
예제 #2
0
        public ActionResult Edit(DiagnosisEdit objFrm)
        {
            bool checkError = true;
            /* start check  Disease_Name  is correct*/
            var objectDisease = diseaseRepository.GetDiseaseById(objFrm.DiseaseId);

            if (objectDisease != null)
            {
                if (string.IsNullOrEmpty(objFrm.Disease_Name) == false && string.IsNullOrEmpty(objectDisease.Name) == false)
                {
                    if (objFrm.Disease_Name.Trim() != objectDisease.Name.Trim())
                    {
                        ModelState.AddModelError("Disease_Name", Translator.MsgInvalidDiseaseName);
                    }
                }
                else
                {
                    ModelState.AddModelError("Disease_Name", Translator.MsgInvalidDiseaseName);
                }
            }
            else
            {
                ModelState.AddModelError("Disease_Name", Translator.MsgInvalidDiseaseName);
            }
            /*End check Disease_Name */
            try
            {
                Diagnosis originDiagnosis = diagnosisRepository.GetDiagnosisById(objFrm.Id);
                if (ModelState.IsValid)
                {
                    Diagnosis newDiagnosis = Utilities.ObjectCopier.Copy <Diagnosis>(originDiagnosis);
                    var       objSession   = Session["user"] as MyClinic.Infrastructure.SessUser;

                    //newDiagnosis.Status = objFrm.Status;
                    newDiagnosis.DiagnoseCycle = objFrm.DiagnoseCycle;
                    newDiagnosis.ExpiredDate   = objFrm.ExpiredDate;
                    newDiagnosis.Symptom       = objFrm.Symptom;
                    newDiagnosis.SymptomType   = objFrm.SymptomType;
                    newDiagnosis.DiseaseId     = objFrm.DiseaseId;
                    newDiagnosis.DiagnoseBy    = objFrm.DiagnoseBy;
                    string diffString = originDiagnosis.EnumeratePropertyDifferencesInString(newDiagnosis);
                    diagnosisRepository.UpdateFieldChangedOnly(originDiagnosis, newDiagnosis);

                    /*For Add New Record to LogTable*/
                    logTran.UserId      = objSession.UserId;
                    logTran.ProcessType = "Edit User";
                    logTran.Description = "Edit User value as follow: " + diffString;
                    logTran.LogDate     = DateTime.Now;
                    logRepository.Add(logTran);
                    checkError = false;
                }
                if (checkError == true)
                {
                    DTODiagnosis dtodiagnosis = diagnosisRepository.GetDTODiagnosisById(objFrm.Id);

                    dtodiagnosis.Status        = objFrm.Status;
                    dtodiagnosis.DiagnoseCycle = objFrm.DiagnoseCycle;
                    dtodiagnosis.ExpiredDate   = objFrm.ExpiredDate;
                    dtodiagnosis.Symptom       = objFrm.Symptom;

                    var symptomTypes  = diagnosisRepository.GetSymptomType();
                    var employeeLists = employeeRepository.Get();
                    diagnosisModel = new DiagnosisModels
                    {
                        symptomTypes  = symptomTypes,
                        dtodiagnosis  = dtodiagnosis,
                        diagnosisEdit = objFrm,
                        EmployeeLists = employeeLists,
                        checkPost     = true
                    };
                    return(View(diagnosisModel));
                }
                else
                {
                    return(RedirectToAction("Index", "Diagnosis"));
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                ModelState.AddModelError("", Translator.UnexpectedError);
            }
            return(View());
        }