//删除预约信息
        public void DeleteCustomerAppointment(int id)
        {
            //删除预约表
            List <CustomerAppointment> customerAppointment = db.CustomerAppointment.Where(p => p.CustomerAppointmentID == id).ToList();

            if (customerAppointment.Count > 0)
            {
                foreach (var item in customerAppointment)
                {
                    //利用所有的预约id去查有没有体检信息,有则删除体检信息
                    ClientMdicalIformation clientMdicalIformation = db.ClientMdicalIformation.Where(p => p.CustomerAppointmentID == item.CustomerAppointmentID).ToList().FirstOrDefault();
                    if (clientMdicalIformation != null)
                    {
                        //删除客户回访信息
                        List <CustomerReturnVisit> customerReturnVisit = db.CustomerReturnVisit.Where(p => p.ConclusionID == clientMdicalIformation.ConclusionID).ToList();
                        if (customerReturnVisit.Count > 0)
                        {
                            foreach (var item1 in customerReturnVisit)
                            {
                                CustomerReturnVisit customerReturnVisit1 = db.CustomerReturnVisit.Where(p => p.ConclusionID == item1.ConclusionID).ToList().FirstOrDefault();
                                db.CustomerReturnVisit.Remove(customerReturnVisit1);
                                db.SaveChanges();
                            }
                        }

                        //删除客户关怀信息
                        List <CustomerCare> customerCare = db.CustomerCare.Where(p => p.ConclusionID == clientMdicalIformation.ConclusionID).ToList();
                        if (customerCare.Count() > 0)
                        {
                            foreach (var item2 in customerCare)
                            {
                                int          customerCareid = item2.CustomerCareID;
                                CustomerCare customerCare1  = db.CustomerCare.Where(p => p.ConclusionID == item2.ConclusionID).ToList().FirstOrDefault();
                                db.CustomerCare.Remove(customerCare1);
                                db.SaveChanges();
                            }
                        }

                        //删除体检信息之后才能删除内外科
                        db.ClientMdicalIformation.Remove(clientMdicalIformation);
                        db.SaveChanges();
                        //删除外科体检信息
                        int SurgicalExaminationID = clientMdicalIformation.SurgicalExaminationID;
                        SurgicalExamination surgicalExamination = db.SurgicalExamination.Find(SurgicalExaminationID);
                        db.SurgicalExamination.Remove(surgicalExamination);
                        db.SaveChanges();
                        //删除内科体检信息
                        int MedicalExaminationID = clientMdicalIformation.MedicalExaminationID;
                        MedicalExamination medicalExamination = db.MedicalExamination.Find(MedicalExaminationID);
                        db.MedicalExamination.Remove(medicalExamination);
                        db.SaveChanges();

                        //删除预约记录
                        CustomerAppointment customerAppointment1 = db.CustomerAppointment.Find(item.CustomerAppointmentID);
                        db.CustomerAppointment.Remove(customerAppointment1);
                        db.SaveChanges();
                    }
                }
            }
        }
        //利用体检表id查到对应外科并返回
        public SurgicalExamination SelectSurgical(int id)
        {
            ClientMdicalIformation clientMdicalIformation = db.ClientMdicalIformation.Find(id);
            var SurgicalExaminationID = clientMdicalIformation.SurgicalExaminationID;
            SurgicalExamination surgicalExamination = db.SurgicalExamination.Find(SurgicalExaminationID);

            return(surgicalExamination);
        }
 //监控内外科表和体检信息表的变化并且保存
 public void Monitor(ClientMdicalIformation clientMdicalIformation, SurgicalExamination surgicalExamination, MedicalExamination medicalExamination)
 {
     db.Entry(clientMdicalIformation).State = System.Data.Entity.EntityState.Modified;
     db.SaveChanges();
     db.Entry(surgicalExamination).State = System.Data.Entity.EntityState.Modified;
     db.SaveChanges();
     db.Entry(medicalExamination).State = System.Data.Entity.EntityState.Modified;
     db.SaveChanges();
 }
        //删除客户体检信息,外科也一并删除
        public void DeleteSurgicalExamination(int id)
        {
            ClientMdicalIformation clientMdicalIformation = db.ClientMdicalIformation.Find(id);
            var SurgicalExamination = clientMdicalIformation.SurgicalExaminationID;
            SurgicalExamination surgicalExamination = db.SurgicalExamination.Find(SurgicalExamination);

            db.SurgicalExamination.Remove(surgicalExamination);
            db.SaveChanges();
        }
        //新增外科信息
        public int AddSurgicalExamination(SurgicalExamination surgicalExamination)
        {
            db.SurgicalExamination.Add(surgicalExamination);
            db.SaveChanges();
            //利用方法查询到外科表的最后一条信息(上面新增的那条)
            SurgicalExamination surgicalExamination1 = db.SurgicalExamination.ToList().LastOrDefault();
            //拿到新增那条外科信息返回id
            int SurgicalExaminationID = surgicalExamination1.SurgicalExaminationID;

            return(SurgicalExaminationID);
        }
 //监控内外科表和体检信息表的变化并且保存
 public void Monitor(ClientMdicalIformation clientMdicalIformation, SurgicalExamination surgicalExamination, MedicalExamination medicalExamination)
 {
     Dal.Monitor(clientMdicalIformation, surgicalExamination, medicalExamination);
 }
 //新增外科信息
 public int AddSurgicalExamination(SurgicalExamination surgicalExamination)
 {
     return(Dal.AddSurgicalExamination(surgicalExamination));
 }
        public ActionResult AddClientMdicalIfor(ClientMdicalIformation clientMdicalIformation, SurgicalExamination surgicalExamination, MedicalExamination medicalExamination)
        {
            //新建外科,拿到新建信息的id
            int SurgicalExaminationID = Bll.AddSurgicalExamination(surgicalExamination);
            //新建内科,拿到新建信息的id
            int MedicalExaminationID = Bll.AddMedicalExamination(medicalExamination);

            //以上拿到的三个id都是体检信息表的外键字段,将他们放入体检信息
            clientMdicalIformation.SurgicalExaminationID = SurgicalExaminationID;
            clientMdicalIformation.MedicalExaminationID  = MedicalExaminationID;
            //新建体检信息
            Bll.AddMdicalIformation(clientMdicalIformation);

            return(RedirectToAction("ClientMdical"));
        }
 public ActionResult ClientMdicalIformation(ClientMdicalIformation clientMdicalIformation, SurgicalExamination surgicalExamination, MedicalExamination medicalExamination)
 {
     Bll.Monitor(clientMdicalIformation, surgicalExamination, medicalExamination);
     return(RedirectToAction("ClientMdical"));
 }