public ActionResult Edit(int FamilyId = 0, string json = null)
        {
            var vm = new Models.StudentFamily.Edit();

            if (FamilyId != 0)
            {
                using (var db = new XkSystem.Models.DbContext())
                {
                    vm.StudentFamilyEdit = (from p in db.Table <Student.Entity.tbStudentFamily>()
                                            where p.Id == FamilyId
                                            select new Dto.StudentFamily.Edit()
                    {
                        Id = p.Id,
                        FamilyName = p.FamilyName,
                        EducationId = p.tbDictEducation.Id,
                        Job = p.Job,
                        Mobile = p.Mobile,
                        KinshipId = p.tbDictKinship.Id,
                        UnitName = p.UnitName
                    }).FirstOrDefault();
                }
            }
            vm.KinshipList   = Dict.Controllers.DictKinshipController.SelectList();
            vm.EducationList = Dict.Controllers.DictEducationController.SelectList();
            if (!string.IsNullOrEmpty(json))
            {
                vm.StudentFamilyEdit = Newtonsoft.Json.JsonConvert.DeserializeObject <Dto.StudentFamily.Edit>(json);
            }
            return(View(vm));
        }
        public ActionResult EditFamily(int familyId = 0, int studentId = 0)
        {
            var vm = new Models.StudentFamily.Edit();

            vm.StudentId = studentId;

            if (familyId > 0)
            {
                using (var db = new XkSystem.Models.DbContext())
                {
                    vm.StudentFamilyEdit = (from p in db.Table <Student.Entity.tbStudentFamily>()
                                            where p.Id == familyId
                                            select new Dto.StudentFamily.Edit()
                    {
                        Id = p.Id,
                        FamilyName = p.FamilyName,
                        Job = p.Job,
                        Email = p.Email,
                        EducationId = p.tbDictEducation.Id,
                        Mobile = p.Mobile,
                        KinshipId = p.tbDictKinship.Id,
                        UnitName = p.UnitName
                    }).FirstOrDefault();
                }
            }

            vm.KinshipList   = Dict.Controllers.DictKinshipController.SelectList();
            vm.EducationList = Dict.Controllers.DictEducationController.SelectList();

            return(View(vm));
        }
        public ActionResult Edit(Models.StudentFamily.Edit vm)
        {
            var json = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                Id         = 0,
                FamilyName = vm.StudentFamilyEdit.FamilyName,
                Job        = vm.StudentFamilyEdit.Job,
                Mobile     = vm.StudentFamilyEdit.Mobile,
                Relation   = vm.StudentFamilyEdit.KinshipId,
                UnitName   = vm.StudentFamilyEdit.UnitName
            });

            return(Content("<script>window.parent.FamilyEditCallBack('" + json + "');</script>"));
        }
        public ActionResult EditFamily(Models.StudentFamily.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var tb = new Student.Entity.tbStudentFamily();
                if (vm.StudentFamilyEdit.Id > 0)
                {
                    tb                 = db.Set <Student.Entity.tbStudentFamily>().Find(vm.StudentFamilyEdit.Id);
                    tb.FamilyName      = vm.StudentFamilyEdit.FamilyName;
                    tb.Job             = vm.StudentFamilyEdit.Job;
                    tb.Email           = vm.StudentFamilyEdit.Email;
                    tb.Mobile          = vm.StudentFamilyEdit.Mobile;
                    tb.tbDictKinship   = db.Set <Dict.Entity.tbDictKinship>().Find(vm.StudentFamilyEdit.KinshipId);
                    tb.UnitName        = vm.StudentFamilyEdit.UnitName;
                    tb.tbDictEducation = db.Set <Dict.Entity.tbDictEducation>().Find(vm.StudentFamilyEdit.EducationId);
                }
                else
                {
                    tb = new Student.Entity.tbStudentFamily()
                    {
                        FamilyName      = vm.StudentFamilyEdit.FamilyName,
                        Job             = vm.StudentFamilyEdit.Job,
                        Mobile          = vm.StudentFamilyEdit.Mobile,
                        Email           = vm.StudentFamilyEdit.Email,
                        tbDictKinship   = db.Set <Dict.Entity.tbDictKinship>().Find(vm.StudentFamilyEdit.KinshipId),
                        UnitName        = vm.StudentFamilyEdit.UnitName,
                        tbStudent       = db.Set <Student.Entity.tbStudent>().Find(vm.StudentId),
                        tbDictEducation = db.Set <Dict.Entity.tbDictEducation>().Find(vm.StudentFamilyEdit.EducationId)
                    };

                    //当添加父亲、母亲时,判断数据库中是否已经有父母记录
                    var kinshipName = db.Set <Dict.Entity.tbDictKinship>().Find(vm.StudentFamilyEdit.KinshipId).KinshipName;
                    if (new string[] { "父亲", "母亲" }.Contains(kinshipName))
                    {
                        if (db.Table <Student.Entity.tbStudentFamily>().Where(d => d.tbDictKinship.Id == vm.StudentFamilyEdit.KinshipId && d.tbStudent.Id == vm.StudentId).Count() > 0)
                        {
                            var error = new List <string>();
                            error.Add("此亲属关系记录已经存在!");
                            return(Code.MvcHelper.Post(error));
                        }
                    }

                    db.Set <Student.Entity.tbStudentFamily>().Add(tb);
                }

                db.SaveChanges();
            }

            return(Code.MvcHelper.Post());
        }