Example #1
0
        public PregnancyViewModel GetDetail(string UserId, int PatientId)
        {
            var result = new PregnancyViewModel();

            var adminRole       = _repository.GetContext().Roles.Where(p => p.Name == "PatientAdmin").Select(p => p.Id).FirstOrDefault();
            var applicationUser = _repository.GetContext().UserRoles.Where(p => p.UserId == UserId && p.RoleId == adminRole).ToList();

            if (applicationUser.Count > 0)
            {
                result.IsAdmin = true;
            }
            else
            {
                result.IsAdmin = false;
                PatientId      = _repository.GetContext().Patients.Where(p => p.UserId == UserId).Select(p => p.Id).FirstOrDefault();
            }

            //var patient = _repository.GetContext().Patients.Where(p => p.Id == PatientId).FirstOrDefault();
            var pregnancy = _repository.GetContext().Pregnancy.Include(p => p.Patient).Where(p => p.PatientId == PatientId).FirstOrDefault();

            result.Id            = pregnancy.Id;
            result.FirstName     = pregnancy.Patient.FirstName;
            result.Surname       = pregnancy.Patient.Surname;
            result.DateOfBirth   = pregnancy.Patient.DateOfBirth;
            result.EDD           = pregnancy.EDD;
            result.NHSNumber     = pregnancy.NHSNumber;
            result.MaternityUnit = pregnancy.MaternityUnit;

            var communicationNeed = _repository.GetContext().CommunicationNeed.Include(p => p.Pregnancy).Where(p => p.PregnancyId == pregnancy.Id).FirstOrDefault();

            result.CommunicationNeedViewModel = Mapper.Map <CommunicationNeed, CommunicationNeedViewModel>(communicationNeed);

            return(result);
        }
Example #2
0
        public bool SaveDetail(PregnancyViewModel model, string UserId)
        {
            var result = false;

            try
            {
                var patient = _repository.GetContext().Patients.Where(p => p.Id == model.PatientId).FirstOrDefault();
                patient.FirstName   = model.FirstName;
                patient.Surname     = model.Surname;
                patient.DateOfBirth = model.DateOfBirth;
                patient.GenderId    = model.GenderId;
                patient.NhsNumber   = model.NHSNumber;
                patient.PasNumber   = model.PASNumber;

                patient.SetUpdateDetails(UserId);

                _repository.SaveExisting(patient);

                var pregnancy = _repository.GetContext().Pregnancy.Where(p => p.Id == model.Id).FirstOrDefault();
                //pregnancy.EDD = model.EDD;
                pregnancy.NHSNumber = model.NHSNumber;
                //pregnancy.MaternityUnit = model.MaternityUnit;

                _repository.SaveExisting(pregnancy);

                result = true;
            }catch (Exception ex)
            {
                result = false;
            }

            return(result);
        }
Example #3
0
        public IActionResult Detail(PregnancyViewModel model)
        {
            var SaveDetail = _patientService.SaveDetail(model, CurrentUserId.ToString());

            if (SaveDetail)
            {
                return(RedirectToAction("Index"));
            }

            model.IsAdmin = true;
            return(View(model));
        }
Example #4
0
        public PregnancyViewModel GetDetail(string UserId, int PatientId, bool isPharmixAdmin)
        {
            var result = new PregnancyViewModel();

            if (IsAdminUser(UserId, isPharmixAdmin))
            {
                result.IsAdmin = true;
            }
            else
            {
                result.IsAdmin = false;
                PatientId      = _repository.GetContext().Patients.Where(p => p.UserId == UserId).Select(p => p.Id).FirstOrDefault();
            }

            //var patient = _repository.GetContext().Patients.Where(p => p.Id == PatientId).FirstOrDefault();
            var pregnancy = _repository.GetContext().Pregnancy.Include(p => p.Patient).Where(p => p.PatientId == PatientId).FirstOrDefault();

            if (pregnancy != null)
            {
                result.Id          = pregnancy.Id;
                result.FirstName   = pregnancy.Patient.FirstName;
                result.Surname     = pregnancy.Patient.Surname;
                result.DateOfBirth = pregnancy.Patient.DateOfBirth;
                //result.EDD = pregnancy.EDD;
                result.NHSNumber = pregnancy.Patient.NhsNumber;
                result.PASNumber = pregnancy.Patient.PasNumber;
                //result.MaternityUnit = pregnancy.MaternityUnit;
                result.PatientId = PatientId;
                result.GenderId  = pregnancy.Patient.GenderId ?? 0;
                result.Gender    = pregnancy.Patient.Gender != null ? pregnancy.Patient.Gender.Name : "N/A";
            }

            result.GenderList = new SelectList(_repository.GetAll <Gender>(), "Id", "Name", result.GenderId);

            return(result);
        }
Example #5
0
        public bool SaveDetail(PregnancyViewModel model, string UserId)
        {
            var result = false;

            try
            {
                var patient = _repository.GetContext().Patients.Where(p => p.Id == model.PatientId).FirstOrDefault();
                patient.FirstName   = model.FirstName;
                patient.Surname     = model.Surname;
                patient.DateOfBirth = model.DateOfBirth;
                patient.SetUpdateDetails(UserId);

                _repository.SaveExisting(patient);

                var pregnancy = _repository.GetContext().Pregnancy.Where(p => p.Id == model.Id).FirstOrDefault();
                pregnancy.EDD           = model.EDD;
                pregnancy.NHSNumber     = model.NHSNumber;
                pregnancy.MaternityUnit = model.MaternityUnit;

                _repository.SaveExisting(pregnancy);

                if (model.CommunicationNeedViewModel.Id > 0)
                {
                    //Save Existing
                    var communicationNeed = _repository.GetContext().CommunicationNeed.Where(p => p.Id == model.CommunicationNeedViewModel.Id).FirstOrDefault();
                    communicationNeed.AssistanceRequired       = model.CommunicationNeedViewModel.AssistanceRequired;
                    communicationNeed.AssistanceRequiredDetail = model.CommunicationNeedViewModel.AssistanceRequiredDetail;
                    communicationNeed.PreferredAssistance      = model.CommunicationNeedViewModel.PreferredAssistance;
                    communicationNeed.SpeakEnglish             = model.CommunicationNeedViewModel.SpeakEnglish;
                    communicationNeed.FirstLanguage            = model.CommunicationNeedViewModel.FirstLanguage;
                    communicationNeed.PreferedLanguage         = model.CommunicationNeedViewModel.PreferedLanguage;
                    communicationNeed.InterpreterPhone         = model.CommunicationNeedViewModel.InterpreterPhone;
                    communicationNeed.SetUpdateDetails(UserId);

                    _repository.SaveExisting(communicationNeed);
                }
                else
                {
                    //Add new Record
                    var communicationNeed = new CommunicationNeed();
                    communicationNeed.AssistanceRequired       = model.CommunicationNeedViewModel.AssistanceRequired;
                    communicationNeed.AssistanceRequiredDetail = model.CommunicationNeedViewModel.AssistanceRequiredDetail;
                    communicationNeed.PreferredAssistance      = model.CommunicationNeedViewModel.PreferredAssistance;
                    communicationNeed.SpeakEnglish             = model.CommunicationNeedViewModel.SpeakEnglish;
                    communicationNeed.FirstLanguage            = model.CommunicationNeedViewModel.FirstLanguage;
                    communicationNeed.PreferedLanguage         = model.CommunicationNeedViewModel.PreferedLanguage;
                    communicationNeed.InterpreterPhone         = model.CommunicationNeedViewModel.InterpreterPhone;
                    communicationNeed.PregnancyId = pregnancy.Id;
                    communicationNeed.SetUpdateDetails(UserId);

                    var saveNew = _repository.SaveNew(communicationNeed);
                }

                result = true;
            }catch (Exception ex)
            {
                result = false;
            }

            return(result);
        }