public bool SaveCommunicationNeed(CommunicationNeedViewModel model, string UserId)
        {
            var result = false;

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

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

                    var saveNew = _repository.SaveNew(communicationNeed);
                }

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

            return(result);
        }
        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);
        }