Exemple #1
0
        public ActionResult Edit(Course course)
        {
            //初始化项目名称列表
            List <SelectListItem> projectList = new List <SelectListItem>();
            //根据用户身份做判断
            List <Project> pList = new List <Project>();

            if (UserLogin.userroles.Contains("M"))
            {
                int userid = Convert.ToInt32(UserLogin.userid);
                var user   = db.Users.Where(x => x.id == userid).FirstOrDefault();
                var pros   = from Projects in db.Projects
                             where Projects.ManagerId == user.PersonId
                             select Projects;
                pList = pros.Where(p => p.Status != "C").ToList();
            }
            else
            {
                pList = db.Projects.Where(p => p.Status != "C").ToList();
            }

            foreach (var item in pList)
            {
                SelectListItem listItem = new SelectListItem();
                listItem.Text  = item.ProjectName;
                listItem.Value = item.id.ToString();
                projectList.Add(listItem);
            }
            ViewData["ProjectList"] = projectList;

            //初始化任课老师列表
            List <SelectListItem> teacherList = new List <SelectListItem>();

            foreach (var item in db.Managers.Where(p => p.ManagerType == "T"))
            {
                SelectListItem listItem = new SelectListItem();
                listItem.Text  = item.ManagerName;
                listItem.Value = item.id.ToString();
                teacherList.Add(listItem);
            }
            ViewData["TeacherList"] = teacherList;

            try
            {
                if (ModelState.IsValid)
                {
                    db.Entry(course).State = EntityState.Modified;
                    var entry = db.Entry(course);
                    //以下字段不更新
                    entry.Property(e => e.CreationDate).IsModified = false;
                    entry.Property(e => e.CreatedBy).IsModified    = false;
                    entry.Property(e => e.Attribute1).IsModified   = false;
                    entry.Property(e => e.Attribute2).IsModified   = false;
                    entry.Property(e => e.Attribute3).IsModified   = false;
                    entry.Property(e => e.Attribute4).IsModified   = false;
                    entry.Property(e => e.Attribute5).IsModified   = false;
                    entry.Property(e => e.Attribute6).IsModified   = false;
                    entry.Property(e => e.Attribute7).IsModified   = false;
                    entry.Property(e => e.Attribute8).IsModified   = false;
                    entry.Property(e => e.Attribute9).IsModified   = false;
                    entry.Property(e => e.Attribute10).IsModified  = false;
                    //entry.Property(e => e.ProjectId).IsModified = false;

                    course.LastUpdatedate = DateTime.Now;
                    course.LastUpdatedBy  = Convert.ToInt32(UserLogin.userid);     //从系统获取

                    //Validate Projects before commit to Database
                    CoursesBO courseBO = new CoursesBO();
                    string    errorMsg = "";
                    errorMsg = courseBO.ValidateCourse(course);
                    if (!String.IsNullOrEmpty(errorMsg))
                    {
                        ViewBag.ErrorMsg = errorMsg;
                        return(View(course));
                    }
                    db.SaveChanges();

                    db.Configuration.ValidateOnSaveEnabled = true;

                    return(RedirectToAction("CoursesList"));
                }
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMsg = ex.Message;
                return(View(course));
            }
            return(View(course));
        }
Exemple #2
0
        public ActionResult Create(Course course)
        {
            //初始化任课老师列表
            List <SelectListItem> teacherList = new List <SelectListItem>();

            foreach (var item in db.Managers.Where(p => p.ManagerType == "T"))
            {
                SelectListItem listItem = new SelectListItem();
                listItem.Text  = item.ManagerName;
                listItem.Value = item.id.ToString();
                teacherList.Add(listItem);
            }
            ViewData["TeacherList"] = teacherList;

            //初始化项目名称列表
            List <SelectListItem> projectList = new List <SelectListItem>();
            //根据用户身份做判断
            List <Project> pList = new List <Project>();

            if (UserLogin.userroles.Contains("M"))
            {
                int userid = Convert.ToInt32(UserLogin.userid);
                var user   = db.Users.Where(x => x.id == userid).FirstOrDefault();
                var pros   = from Projects in db.Projects
                             where Projects.ManagerId == user.PersonId
                             select Projects;
                pList = pros.Where(p => p.Status != "C").ToList();
            }
            else
            {
                pList = db.Projects.Where(p => p.Status != "C").ToList();
            }

            foreach (var item in pList)
            {
                SelectListItem listItem = new SelectListItem();
                listItem.Text  = item.ProjectName;
                listItem.Value = item.id.ToString();
                projectList.Add(listItem);
            }
            ViewData["ProjectList"] = projectList;

            CoursesBO courseBO = new CoursesBO();

            try
            {
                course.CreatedBy      = Convert.ToInt32(UserLogin.userid); //从系统获取
                course.CreationDate   = System.DateTime.Now;
                course.LastUpdatedate = System.DateTime.Now;
                course.LastUpdatedBy  = Convert.ToInt32(UserLogin.userid);    //从系统获取
                db.Courses.Add(course);

                string msg = courseBO.ValidateCourse(course);
                if (!String.IsNullOrEmpty(msg))
                {
                    ViewBag.ErrorMsg = msg;
                    return(View(course));
                }
                db.SaveChanges();
                return(RedirectToAction("CoursesList"));
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMsg = ex.Message;
                return(View());
            }
        }