public ActionResult Edit(int id = 0)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var vm = new Models.ClassAllotClass.Edit();
                vm.GradeList     = GradeController.SelectList();
                vm.ClassTypeList = ClassTypeController.SelectList();
                vm.YearList      = YearController.SelectList(Code.EnumHelper.YearType.Year);
                if (vm.ClassAllotClassEdit.YearId == 0 && vm.YearList.Count > 0)
                {
                    vm.ClassAllotClassEdit.YearId = vm.YearList.OrderByDescending(d => d.Selected).FirstOrDefault().Value.ConvertToInt();
                }

                if (id != 0)
                {
                    vm.ClassAllotClassEdit = (from p in db.Table <Basis.Entity.tbClassAllotClass>()
                                              where p.Id == id
                                              select new Dto.ClassAllotClass.Edit()
                    {
                        Id = p.Id,
                        No = p.No,
                        ClassName = p.ClassName,
                        ClassTypeId = p.tbClassType.Id,
                        GradeId = p.tbGrade.Id,
                        YearId = p.tbYear.Id
                    }).FirstOrDefault();
                }

                return(View(vm));
            }
        }
        public ActionResult Edit(Models.ClassAllotClass.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (error.Count == decimal.Zero)
                {
                    if (vm.ClassAllotClassEdit.Id == 0)
                    {
                        var tb = new Basis.Entity.tbClassAllotClass();
                        tb.No = vm.ClassAllotClassEdit.No == null?db.Table <Basis.Entity.tbClassAllotClass>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.ClassAllotClassEdit.No;

                        tb.tbYear      = db.Set <Basis.Entity.tbYear>().Find(vm.ClassAllotClassEdit.YearId);
                        tb.ClassName   = vm.ClassAllotClassEdit.ClassName;
                        tb.tbClassType = db.Set <Basis.Entity.tbClassType>().Find(vm.ClassAllotClassEdit.ClassTypeId);
                        tb.tbGrade     = db.Set <Basis.Entity.tbGrade>().Find(vm.ClassAllotClassEdit.GradeId);
                        db.Set <Basis.Entity.tbClassAllotClass>().Add(tb);
                    }
                    else
                    {
                        var tb = (from p in db.Table <Basis.Entity.tbClassAllotClass>()//.Where(d => d.Id == vm.ClassAllotClassEdit.Id).FirstOrDefault()
                                  where p.Id == vm.ClassAllotClassEdit.Id
                                  select p).FirstOrDefault();
                        if (tb != null)
                        {
                            tb.No = vm.ClassAllotClassEdit.No == null?db.Table <Basis.Entity.tbClassAllotClass>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.ClassAllotClassEdit.No;

                            tb.ClassName   = vm.ClassAllotClassEdit.ClassName;
                            tb.tbYear      = db.Set <Basis.Entity.tbYear>().Find(vm.ClassAllotClassEdit.YearId);
                            tb.tbClassType = db.Set <Basis.Entity.tbClassType>().Find(vm.ClassAllotClassEdit.ClassTypeId);
                            tb.tbGrade     = db.Set <Basis.Entity.tbGrade>().Find(vm.ClassAllotClassEdit.GradeId);
                        }
                    }

                    if (db.SaveChanges() > 0)
                    {
                        XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加/修改了分班方式");
                    }
                }

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