public Result <PatientClinicalExaminationDto> GetPatientClinicalExaminations(int patientConsultationId)
        {
            Result <PatientClinicalExaminationDto> response = new Result <PatientClinicalExaminationDto>();

            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                IEnumerable <ClinicalExamination>        ClinicalExaminations        = unitOfWork.ClinicalExaminationRepository.GetEntities();
                IEnumerable <PatientClinicalExamination> patientClinicalExaminations = unitOfWork.PatientClinicalExaminationRepository.GetEntities(item => item.PatientConsultationId == patientConsultationId, p => p.OrderBy(o => o.ClinicalExamination.SortKey));

                foreach (ClinicalExamination ClinicalExamination in ClinicalExaminations)
                {
                    ClinicalExaminationDto     ClinicalExaminationDto     = _ClinicalExaminationMapper.MapToClinicalExaminationDto(ClinicalExamination);
                    PatientClinicalExamination patientClinicalExamination = patientClinicalExaminations.Where(item => item.ClinicalExaminationId == ClinicalExamination.ClinicalExaminationId).FirstOrDefault();

                    PatientClinicalExaminationDto patientClinicalExaminationDto = new PatientClinicalExaminationDto()
                    {
                        PatientClinicalExaminationId = patientClinicalExamination == null ? default(int?) : patientClinicalExamination.PatientClinicalExaminationId,
                        PatientConsultationId        = patientConsultationId,
                        ClinicalExamination          = ClinicalExaminationDto,
                        Value = patientClinicalExamination == null ? null : patientClinicalExamination.Value
                    };

                    response.Models.Add(patientClinicalExaminationDto);
                }
            }

            return(response);
        }
Ejemplo n.º 2
0
        public void MapToPatientClinicalExamination(PatientClinicalExamination patientClinicalExamination, PatientClinicalExaminationDto patientClinicalExaminationDto)
        {
            if (patientClinicalExaminationDto == null)
            {
                return;
            }

            patientClinicalExamination.PatientConsultationId = patientClinicalExaminationDto.PatientConsultationId;

            if (patientClinicalExaminationDto.ClinicalExamination != null && patientClinicalExaminationDto.ClinicalExamination.ClinicalExaminationId != null)
            {
                patientClinicalExamination.ClinicalExaminationId = patientClinicalExaminationDto.ClinicalExamination.ClinicalExaminationId.Value;
            }

            patientClinicalExamination.Value = patientClinicalExaminationDto.Value;
        }
Ejemplo n.º 3
0
        public PatientClinicalExaminationDto MapToPatientClinicalExaminationDto(PatientClinicalExamination patientClinicalExamination)
        {
            if (patientClinicalExamination == null)
            {
                return(null);
            }

            PatientClinicalExaminationDto patientClinicalExaminationDto = new PatientClinicalExaminationDto();

            patientClinicalExaminationDto.PatientClinicalExaminationId = patientClinicalExamination.PatientClinicalExaminationId;
            patientClinicalExaminationDto.PatientConsultationId        = patientClinicalExamination.PatientConsultationId;
            patientClinicalExaminationDto.ClinicalExamination          = _ClinicalExaminationMapper.MapToClinicalExaminationDto(patientClinicalExamination.ClinicalExamination);
            patientClinicalExaminationDto.Value = patientClinicalExamination.Value;

            return(patientClinicalExaminationDto);
        }
Ejemplo n.º 4
0
 public IHttpActionResult SavePatientClinicalExamination(PatientClinicalExamination patientClinical)
 {
     try
     {
         patientBAL = new PatientAdultMain();
         var result = patientBAL.SavePatientClinicalExamination(patientClinical);
         if (result == null)
         {
             return(NotFound());
         }
         return(Ok(result));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
        public Response <PatientClinicalExaminationDto> SavePatientClinicalExaminations(List <PatientClinicalExaminationDto> patientClinicalExaminations)
        {
            Response <PatientClinicalExaminationDto> response = new Response <PatientClinicalExaminationDto>();

            foreach (PatientClinicalExaminationDto patientClinicalExaminationDto in patientClinicalExaminations)
            {
                response = _PatientClinicalExaminationBusinessRules.SaveCheck(patientClinicalExaminationDto);

                if (response.HasErrors)
                {
                    return(response);
                }
            }

            using (TransactionScope scope = new TransactionScope())
            {
                using (UnitOfWork unitOfWork = new UnitOfWork())
                {
                    unitOfWork.AutoDetectChanges = false;
                    unitOfWork.ValidateOnSave    = false;

                    try
                    {
                        foreach (PatientClinicalExaminationDto patientClinicalExaminationDto in patientClinicalExaminations)
                        {
                            bool isNewPatientClinicalExamination = false;
                            PatientClinicalExamination patientClinicalExamination = unitOfWork.PatientClinicalExaminationRepository.GetByID(item => item.PatientConsultationId == patientClinicalExaminationDto.PatientConsultationId &&
                                                                                                                                            item.ClinicalExaminationId == patientClinicalExaminationDto.ClinicalExamination.ClinicalExaminationId.Value);


                            if (patientClinicalExamination != null && string.IsNullOrEmpty(patientClinicalExaminationDto.Value))
                            {
                                unitOfWork.PatientClinicalExaminationRepository.Delete(patientClinicalExamination);
                                continue;
                            }

                            if (string.IsNullOrEmpty(patientClinicalExaminationDto.Value))
                            {
                                continue;
                            }

                            if (patientClinicalExamination == null)
                            {
                                isNewPatientClinicalExamination = true;
                                patientClinicalExamination      = new PatientClinicalExamination();
                            }

                            _PatientClinicalExaminationMapper.MapToPatientClinicalExamination(patientClinicalExamination, patientClinicalExaminationDto);

                            if (isNewPatientClinicalExamination)
                            {
                                unitOfWork.PatientClinicalExaminationRepository.Insert(patientClinicalExamination);
                            }
                            else
                            {
                                unitOfWork.PatientClinicalExaminationRepository.Update(patientClinicalExamination);
                            }
                        }
                    }
                    finally
                    {
                        unitOfWork.AutoDetectChanges = true;
                    }

                    unitOfWork.Save();
                }

                scope.Complete();
            }

            return(response);
        }