public ActionResult PostInfo(string ID = null, string Name = null, bool isNotReady = false)
        {
            int res = Check();

            if (res == 1)
            {
                return(RedirectToAction("Index", "Login"));
            }
            else if (res == 2)
            {
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                CommonWork();

                TeacherRewardEntities db = new TeacherRewardEntities();

                if (db.TeacherScore.Where(x => x.Depart == userDetails.Department).Count() == 0)
                {
                    ViewBag.NoInfos = true;
                }
                else
                {
                    ViewBag.NoInfos = false;
                }

                getDepartmentList();
                getisSelectedList();

                var Teachers = db.Users.Where(x => x.Department == userDetails.Department && x.isAdmin == false);
                foreach (var each in Teachers)
                {
                    if (!db.TeacherInfo.Where(x => x.ID == each.ID).Any())
                    {
                        TeacherInfo  NewInfo  = new TeacherInfo();
                        TeacherScore NewScore = new TeacherScore();

                        NewInfo.ID     = each.ID;
                        NewInfo.Name   = each.Name;
                        NewInfo.Depart = each.Department;

                        NewScore.ID     = each.ID;
                        NewScore.Name   = each.Name;
                        NewScore.Depart = each.Department;

                        db.TeacherInfo.Add(NewInfo);
                        db.TeacherScore.Add(NewScore);
                    }
                }

                try {
                    db.SaveChanges();
                } catch {
                    return(RedirectToAction("Error", "Admin"));
                }

                var TeacherInfos = db.TeacherInfo.Select(x => x);
                TeacherInfos = TeacherInfos.Where(x => x.Depart == userDetails.Department);

                //筛选信息
                if (isNotReady == true)
                {
                    TeacherInfos = TeacherInfos.Where(x => x.DutyTime == 0);
                }
                if (!String.IsNullOrEmpty(ID))
                {
                    TeacherInfos = TeacherInfos.Where(x => x.ID.Contains(ID));
                }
                if (!String.IsNullOrEmpty(Name))
                {
                    TeacherInfos = TeacherInfos.Where(x => x.Name.Contains(Name));
                }

                return(View(TeacherInfos));
            }
        }
        public ActionResult Submit(AllInfo form, int Project1Level, int Project2Level, int Project3Level, int Project4Level, int Task1Level, int Task2Level, int Task3Level, int Task4Level, int CTask, int Task1, int Task2, int Task3, int Task4, int PThesisLevel1, int PThesisLevel2, int PThesisLevel3, int PThesisLevel4, int PThesis1, int PThesis2, int PThesis3, int PThesis4, int TeachingAward, int TeachThesis1Type, int TeachThesis2Type, int TeachThesis3Type, int TeachThesis4Type, int TeachThesis1, int TeachThesis2, int TeachThesis3, int TeachThesis4, int Project1, int Project2, int Project3, int Project4, int PrizeLevel1, int PrizeLevel2, int PrizeLevel3, int PrizeLevel4, int Prize1, int Prize2, int Prize3, int Prize4)
        {
            CommonWork();
            getListsReady();

            //计算各分值
            int[] TeachingTimeScore = Cal_TeachingTimeScore(Convert.ToInt32(form.TInfo.baseTeachingTime));
            int   PrizeScore        = Cal_PrizeScore(new int[] { Prize1, Prize2, Prize3, Prize4 }, new int[] { PrizeLevel1, PrizeLevel2, PrizeLevel3, PrizeLevel4 });

            double[] ProjectScore       = Cal_ProjectScore(new int[] { Project1, Project2, Project3, Project4 });
            int[]    TeachThesisScore   = Cal_TeachThesisScore(new int[] { TeachThesis1, TeachThesis2, TeachThesis3, TeachThesis4 }, new int[] { TeachThesis1Type, TeachThesis2Type, TeachThesis3Type, TeachThesis4Type });
            int      TeachingAwardScore = Cal_TeachingAwardScore(TeachingAward);

            double[] PublishThesisScore = Cal_PublishThesisScore(new int[] { PThesisLevel1, PThesisLevel2, PThesisLevel3, PThesisLevel4 }, new int[] { PThesis1, PThesis2, PThesis3, PThesis4 });
            double[] TaskScore          = Cal_TaskScore(new int[] { Task1, Task2, Task3, Task4 });
            double   CrosswiseTaskScore = Cal_CrosswiseTaskScore(CTask);

            //竞赛、项目、教学论文/教材、发表论文、纵向课题、横向课题的详细信息
            putPrizeInfo(ref form, new int[] { Prize1, Prize2, Prize3, Prize4 }, new int[] { PrizeLevel1, PrizeLevel2, PrizeLevel3, PrizeLevel4 });
            putProjectInfo(ref form, new int[] { Project1, Project2, Project3, Project4 }, new int[] { Project1Level, Project2Level, Project3Level, Project4Level });
            putTeachThesisInfo(ref form, new int[] { TeachThesis1, TeachThesis2, TeachThesis3, TeachThesis4 }, new int[] { TeachThesis1Type, TeachThesis2Type, TeachThesis3Type, TeachThesis4Type });
            putPublishThesisInfo(ref form, new int[] { PThesis1, PThesis2, PThesis3, PThesis4 }, new int[] { PThesisLevel1, PThesisLevel2, PThesisLevel3, PThesisLevel4 });
            putTaskInfo(ref form, new int[] { Task1, Task2, Task3, Task4 }, new int[] { Task1Level, Task2Level, Task3Level, Task4Level });
            putCrosswiseTaskInfo(ref form, CTask);
            form.TCTask.ID = form.TPrize.ID = form.TProject.ID = form.TPThesis.ID = form.TTask.ID = form.TTThesis.ID = userDetails.ID;

            TeacherRewardEntities db = new TeacherRewardEntities();
            //新数据
            TeacherInfo              insertion            = new TeacherInfo();
            TeacherScore             newScore             = new TeacherScore();
            TeacherPrizeInfo         newPrizeInfo         = new TeacherPrizeInfo();
            TeacherProjectInfo       newProjectInfo       = new TeacherProjectInfo();
            TeacherTeachThesisInfo   newTeachThesisInfo   = new TeacherTeachThesisInfo();
            TeacherPublishThesisInfo newPublishThesisInfo = new TeacherPublishThesisInfo();
            TeacherTaskInfo          newTaskInfo          = new TeacherTaskInfo();
            TeacherCrosswiseTaskInfo newCTaskInfo         = new TeacherCrosswiseTaskInfo();
            //重新提交数据
            var curTeacherInfo = db.TeacherInfo.Where(x => x.ID == userDetails.ID).FirstOrDefault();
            var curPrizeInfo   = db.TeacherPrizeInfo.Where(x => x.ID == userDetails.ID).FirstOrDefault();
            var curProjectInfo = db.TeacherProjectInfo.Where(x => x.ID == userDetails.ID).FirstOrDefault();
            var curTThesisInfo = db.TeacherTeachThesisInfo.Where(x => x.ID == userDetails.ID).FirstOrDefault();
            var curPThesisInfo = db.TeacherPublishThesisInfo.Where(x => x.ID == userDetails.ID).FirstOrDefault();
            var curTaskInfo    = db.TeacherTaskInfo.Where(x => x.ID == userDetails.ID).FirstOrDefault();
            var curCTaskInfo   = db.TeacherCrosswiseTaskInfo.Where(x => x.ID == userDetails.ID).FirstOrDefault();

            if (curTeacherInfo != null)
            {
                curTeacherInfo.baseTeachingTime  = TeachingTimeScore[0];
                curTeacherInfo.extTeachingTime   = TeachingTimeScore[1];
                curTeacherInfo.Prize             = PrizeScore;
                curTeacherInfo.baseProject       = ProjectScore[0];
                curTeacherInfo.extProject        = ProjectScore[1];
                curTeacherInfo.baseTeachThesis   = TeachThesisScore[0];
                curTeacherInfo.extTeachThesis    = TeachThesisScore[1];
                curTeacherInfo.TeachingAward     = TeachingAwardScore;
                curTeacherInfo.basePublishThesis = PublishThesisScore[0];
                curTeacherInfo.extPublishThesis  = PublishThesisScore[1];
                curTeacherInfo.baseTask          = TaskScore[0];
                curTeacherInfo.extTask           = TaskScore[1];
                curTeacherInfo.CrosswiseTask     = CrosswiseTaskScore;

                curPrizeInfo   = form.TPrize;
                curProjectInfo = form.TProject;
                curTThesisInfo = form.TTThesis;
                curPThesisInfo = form.TPThesis;
                curTaskInfo    = form.TTask;
                curCTaskInfo   = form.TCTask;
            }
            else
            {
                insertion.ID                = userDetails.ID;
                insertion.Name              = userDetails.Name;
                insertion.Depart            = userDepart.ID;
                insertion.baseTeachingTime  = TeachingTimeScore[0];
                insertion.extTeachingTime   = TeachingTimeScore[1];
                insertion.Prize             = PrizeScore;
                insertion.baseProject       = ProjectScore[0];
                insertion.extProject        = ProjectScore[1];
                insertion.baseTeachThesis   = TeachThesisScore[0];
                insertion.extTeachThesis    = TeachThesisScore[1];
                insertion.TeachingAward     = TeachingAwardScore;
                insertion.basePublishThesis = PublishThesisScore[0];
                insertion.extPublishThesis  = PublishThesisScore[1];
                insertion.baseTask          = TaskScore[0];
                insertion.extTask           = TaskScore[1];
                insertion.CrosswiseTask     = CrosswiseTaskScore;

                newScore.ID         = userDetails.ID;
                newScore.Name       = userDetails.Name;
                newScore.Depart     = userDepart.ID;
                newScore.isSelected = false;

                newCTaskInfo         = form.TCTask;
                newPrizeInfo         = form.TPrize;
                newProjectInfo       = form.TProject;
                newTeachThesisInfo   = form.TTThesis;
                newPublishThesisInfo = form.TPThesis;
                newTaskInfo          = form.TTask;
            }
            //写入数据库
            try {
                if (curTeacherInfo == null)                   //如果没有旧条目,则添加新条目
                {
                    db.TeacherInfo.Add(insertion);
                    db.TeacherScore.Add(newScore);
                    db.TeacherPrizeInfo.Add(newPrizeInfo);
                    db.TeacherProjectInfo.Add(newProjectInfo);
                    db.TeacherPublishThesisInfo.Add(newPublishThesisInfo);
                    db.TeacherTeachThesisInfo.Add(newTeachThesisInfo);
                    db.TeacherTaskInfo.Add(newTaskInfo);
                    db.TeacherCrosswiseTaskInfo.Add(newCTaskInfo);
                }
                db.SaveChanges();
                return(RedirectToAction("Success", "Home"));
            } catch (Exception) {
                return(RedirectToAction("Error", "Home"));
            } finally {
                db.Dispose();
            }
        }