Beispiel #1
0
        public ActionResult Edit(int id = 0)
        {
            var vm = new Models.MoralPower.Edit();

            using (var db = new XkSystem.Models.DbContext())
            {
                if (id > 0)
                {
                    var tb = (from p in db.Table <Moral.Entity.tbMoralPower>()
                              where p.Id == id
                              select new Dto.MoralPower.Edit()
                    {
                        Id = p.Id,
                        No = p.No,
                        TeacherId = p.tbTeacher.Id,
                        MoralDate = p.MoralDate,
                    }).FirstOrDefault();
                    if (tb != null)
                    {
                        vm.MoralPowerEdit = tb;
                    }

                    vm.MoralClassIds = (from p in db.Table <Entity.tbMoralPowerClass>() where p.tbMoralPower.Id == id select p.tbClass.Id).ToList();
                    if (vm.MoralClassIds != null && vm.MoralClassIds.Any())
                    {
                        vm.MoralClassId = string.Join(",", vm.MoralClassIds);
                    }
                }
                else
                {
                    vm.MoralPowerEdit.No = db.Table <Moral.Entity.tbMoralPower>().Where(p => p.tbMoralItem.Id == vm.MoralItemId).Select(p => p.No).DefaultIfEmpty(0).Max() + 1;
                }
            }
            vm.TeacherList    = Teacher.Controllers.TeacherController.SelectList();
            vm.MoralClassList = MoralClassController.SelectList(vm.MoralId);
            return(View(vm));
        }
Beispiel #2
0
        public ActionResult Edit(Models.MoralPower.Edit vm)
        {
            var error = new List <string>();

            using (var db = new XkSystem.Models.DbContext())
            {
                var tb = (from p in db.Table <Moral.Entity.tbMoralPower>() where p.tbMoralItem.Id == vm.MoralItemId && p.tbTeacher.Id == vm.MoralPowerEdit.TeacherId && p.Id != vm.MoralPowerEdit.Id select p);
                if (vm.MoralPowerEdit.MoralDate.HasValue)
                {
                    tb = tb.Where(p => p.MoralDate == vm.MoralPowerEdit.MoralDate.Value);
                }
                else
                {
                    tb = tb.Where(p => !p.MoralDate.HasValue);
                }
                var isExists = tb.Count() > 0;
                if (isExists)
                {
                    error.Add("已存在相同的记录!");
                    return(Code.MvcHelper.Post(error));
                }
                if (vm.MoralPowerEdit.Id == 0)
                {
                    var tbMoralPower = new Moral.Entity.tbMoralPower()
                    {
                        No          = (vm.MoralPowerEdit.No ?? 0) == 0 ? db.Table <Moral.Entity.tbMoralPower>().Where(p => p.tbMoralItem.Id == vm.MoralItemId).Select(p => p.No).DefaultIfEmpty(0).Max() + 1 : vm.MoralPowerEdit.No.Value,
                        MoralDate   = vm.MoralPowerEdit.MoralDate,
                        tbMoralItem = db.Set <Moral.Entity.tbMoralItem>().Find(vm.MoralItemId),
                        tbTeacher   = db.Set <Teacher.Entity.tbTeacher>().Find(vm.MoralPowerEdit.TeacherId)
                    };
                    db.Set <Moral.Entity.tbMoralPower>().Add(tbMoralPower);

                    if (!string.IsNullOrWhiteSpace(vm.MoralClassId))
                    {
                        var classIds  = vm.MoralClassId.TrimEnd(',').Split(',').Select(int.Parse).ToList();
                        var classList = (from p in db.Table <Basis.Entity.tbClass>() where classIds.Contains(p.Id) select p).ToList();

                        db.Set <Moral.Entity.tbMoralPowerClass>().AddRange(classList.Select(p => new Moral.Entity.tbMoralPowerClass()
                        {
                            tbClass      = p,
                            tbMoralPower = tbMoralPower
                        }).ToList());
                    }

                    if (db.SaveChanges() > 0)
                    {
                        Sys.Controllers.SysUserLogController.Insert("添加了德育项目评价人员!");
                    }
                }
                else
                {
                    var tbMoralPower = (from p in db.Table <Moral.Entity.tbMoralPower>() where p.Id == vm.MoralPowerEdit.Id select p).FirstOrDefault();
                    if (tbMoralPower == null)
                    {
                        error.Add(Resources.LocalizedText.MsgNotFound);
                        return(Code.MvcHelper.Post(error));
                    }

                    tbMoralPower.MoralDate = vm.MoralPowerEdit.MoralDate;
                    tbMoralPower.No        = (vm.MoralPowerEdit.No ?? 0) == 0 ? db.Table <Moral.Entity.tbMoralPower>().Where(p => p.tbMoralItem.Id == vm.MoralItemId).Select(p => p.No).DefaultIfEmpty(0).Max() + 1 : vm.MoralPowerEdit.No.Value;
                    tbMoralPower.tbTeacher = db.Set <Teacher.Entity.tbTeacher>().Find(vm.MoralPowerEdit.TeacherId);

                    if (!string.IsNullOrWhiteSpace(vm.MoralClassId))
                    {
                        var tbMoralPowerClass = (from p in db.Table <Moral.Entity.tbMoralPowerClass>() where p.tbMoralPower.Id == tbMoralPower.Id select p);
                        foreach (var powerClass in tbMoralPowerClass)
                        {
                            powerClass.IsDeleted = true;
                        }
                        var classIds  = vm.MoralClassId.TrimEnd(',').Split(',').Select(int.Parse).ToList();
                        var classList = (from p in db.Table <Basis.Entity.tbClass>() where classIds.Contains(p.Id) select p).ToList();
                        db.Set <Moral.Entity.tbMoralPowerClass>().AddRange(classList.Select(p => new Moral.Entity.tbMoralPowerClass()
                        {
                            tbClass      = p,
                            tbMoralPower = tbMoralPower
                        }).ToList());
                    }

                    if (db.SaveChanges() > 0)
                    {
                        Sys.Controllers.SysUserLogController.Insert("修改了德育项目评价人员!");
                    }
                }
            }
            return(Code.MvcHelper.Post());
        }