예제 #1
0
 public ObservationsService(
     IObservationsRepository repository,
     IUserOperationContext operationContext)
 {
     _repository       = repository;
     _operationContext = operationContext;
 }
예제 #2
0
 //public AppUnityOfWork(DbContext context) : base(context)
 //{ }
 public AppUnityOfWork(IAppUsersRepository UsersRepository, IAquariumsRepository AquariumsRepository, IFishRepository FishRepository,
                       IGalleriesRepository GalleriesRepository, IHealthBooksRepository HealthBooksRepository, IIllnessesRepository IllnessesRepository,
                       IKindNotyficationsRepository KindNotyficationsRepository, IKindsRepository KindsRepository, INursingsRepository NursingsRepository,
                       IObservationsRepository ObservationsRepository, IPhotosRepository PhotosRepository, IWaterChangesRepository WaterChangesRepository, DbContext context) : base(context)
 {
     this.UsersRepository             = UsersRepository;
     this.AquariumsRepository         = AquariumsRepository;
     this.FishRepository              = FishRepository;
     this.GalleriesRepository         = GalleriesRepository;
     this.HealthBooksRepository       = HealthBooksRepository;
     this.IllnessesRepository         = IllnessesRepository;
     this.KindNotyficationsRepository = KindNotyficationsRepository;
     this.KindsRepository             = KindsRepository;
     this.NursingsRepository          = NursingsRepository;
     this.ObservationsRepository      = ObservationsRepository;
     this.PhotosRepository            = PhotosRepository;
     this.WaterChangesRepository      = WaterChangesRepository;
 }
        public ActionResult Summary(string dfn)
        {
            // *** Create new model ***
            PatientSummary model            = new PatientSummary();
            string         errorMessage     = "";
            string         attentionMessage = "";

            // *** Get patient demographics ***
            model.Patient = this.CurrentPatient;

            // *** Check for success ***
            if (!model.Patient.NotFound)
            {
                IObservationsRepository observations      = this.DashboardRepository.Observations;
                PregnancyResult         updatedPregResult = this.DashboardRepository.Pregnancy.UpdateCurrentPregnancyLactationWithCPRSData(dfn, observations, model.Patient);
                if (!updatedPregResult.Success)
                {
                    errorMessage = errorMessage + updatedPregResult.Message;
                    this.Error(errorMessage);
                }
                else
                {
                    attentionMessage = attentionMessage + updatedPregResult.Message;
                    if (!string.IsNullOrWhiteSpace(attentionMessage))
                    {
                        this.Attention(attentionMessage);
                    }
                }

                PregnancyResult pregResult = this.DashboardRepository.Pregnancy.GetCurrentOrMostRecentPregnancy(dfn);
                if (pregResult.Success)
                {
                    if (pregResult.Pregnancy != null)
                    {
                        if (pregResult.Pregnancy.RecordType == PregnancyRecordType.Current)
                        {
                            model.Patient.Pregnant = true;
                        }
                        else
                        {
                            model.Patient.Pregnant = false;
                        }
                        if (pregResult.Pregnancy.RecordType == PregnancyRecordType.Current)
                        {
                            model.CurrentPregnancy = pregResult.Pregnancy;

                            PregnancyDetails tempDetails = PregnancyUtilities.GetPregnancyObservationData(this.DashboardRepository, dfn, model.CurrentPregnancy.Ien);

                            model.CurrentPregnancy.Lmp            = tempDetails.Lmp;
                            model.CurrentPregnancy.FetusBabyCount = tempDetails.FetusBabyCount;
                            model.CurrentPregnancy.EddBasis       = tempDetails.EddBasis;
                            model.CurrentPregnancy.EddIsFinal     = tempDetails.EddIsFinal;
                        }
                        else
                        {
                            // TODO: Show most recent pregnancy ?
                        }

                        // *** Get pregnancy checklist ***
                        UpdateChecklistSummary(model, dfn, pregResult);
                    }
                }
                else
                {
                    errorMessage = errorMessage + pregResult.Message;
                    this.Error(errorMessage);
                }

                // *** Get Pregnancy History ***
                PregnancyHistoryResult histResult = this.DashboardRepository.Pregnancy.GetPregnancyHistory(dfn);

                if (histResult.Success)
                {
                    model.PregnancyHistory = histResult.PregnancyHistory;
                }
                else
                {
                    model.PregnancyHistory = new PregnancyHistory();
                    errorMessage           = errorMessage + histResult.Message;
                    this.Error(errorMessage);
                }
            }

            // *** Set return url ***
            if (TempData.ContainsKey(LastPatientListUrl))
            {
                model.ReturnUrl = TempData[LastPatientListUrl].ToString();

                TempData.Keep(LastPatientListUrl);

                // *** Indicate how to get back here ***
                TempData[ReturnUrl] = Url.Action("Summary", "Patient", new { dfn = dfn });
            }

            return(View("Summary2", model));
        }