public async Task <IActionResult> Edit(int id, [Bind("ID,Name,Quiz1,Quiz2,Quiz3,Assignment1,Assignment2,Assignment3,Exam")] FinalsData finalsData)
        {
            if (id != finalsData.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(finalsData);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FinalsDataExists(finalsData.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(finalsData));
        }
        public async Task <IActionResult> Create([Bind("ID,Name,Quiz1,Quiz2,Quiz3,Assignment1,Assignment2,Assignment3,Exam")] FinalsData finalsData)
        {
            if (ModelState.IsValid)
            {
                _context.Add(finalsData);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(finalsData));
        }
コード例 #3
0
        /// <summary>
        /// 获取所有作品
        /// </summary>
        /// <param name="state"></param>
        /// <returns></returns>
        public DataTable GetAllArticle(int state, int competition_season_id = 0)
        {
            var article_list = from a in db.Set <articles>()
                               join b in db.Set <author_info>() on a.uid equals b.uid
                               join c in db.Set <article_states>() on a.article_id equals c.article_id
                               join d in db.Set <article_competition_season>() on a.article_id equals d.article_id
                               where d.competiontion_season_id == competition_season_id
                               select new { a.article_id, d.zone_id, a.article_no, a.article_title, b.user_name, a.create_time, c.article_state, c.adviser_score, c.expert_score, c.expert_name, c.return_tag, c.return_remark };

            var vote_count = from a in db.Set <vote_record>() group a by a.article_id into b select new { article_id = b.Key, vote_count = (int?)b.Count() };
            var data       = from a in article_list join b in vote_count on a.article_id equals b.article_id into ab1 from ab in ab1.DefaultIfEmpty() select new { article = a, vote_count = ab.vote_count ?? 0, banjuesai = a.adviser_score * 0.6 + ab.vote_count ?? 0 * 0.4 };

            if (state == 2)
            {
                #region 初赛
                data = data.Where(o => o.article.article_state <= state).OrderByDescending(o => o.vote_count);
                List <PreliminariesData> list = new List <PreliminariesData>();
                foreach (var row in data)
                {
                    PreliminariesData preli = new PreliminariesData();
                    preli.作品名称 = row.article.article_title;
                    preli.作品编号 = row.article.article_no;
                    preli.作者姓名 = row.article.user_name;
                    preli.投稿时间 = row.article.create_time.HasValue ? row.article.create_time.Value.ToString() : "";
                    if (row.article.article_state == 0)
                    {
                        preli.状态 = "未审核";
                    }
                    else if (row.article.article_state == 1)
                    {
                        preli.状态 = "审核未通过";
                    }
                    else if (row.article.article_state == 2)
                    {
                        preli.状态 = "审核通过";
                    }
                    preli.票数 = row.vote_count.ToString();
                    list.Add(preli);
                }
                return(list.ToDataTable());

                #endregion
            }
            else if (state == 3)
            {
                #region 初赛
                data = data.Where(o => o.article.article_state == state).OrderByDescending(o => o.banjuesai);
                List <SemifinalsData> list = new List <SemifinalsData>();
                int i = 1;
                foreach (var row in data)
                {
                    SemifinalsData semi = new SemifinalsData();
                    semi.作品名称 = row.article.article_title;
                    semi.作品编号 = row.article.article_no;
                    semi.作者姓名 = row.article.user_name;
                    semi.投稿时间 = row.article.create_time.HasValue ? row.article.create_time.Value.ToString() : "";
                    semi.票数   = row.vote_count.ToString();
                    semi.编辑打分 = row.article.adviser_score.ToString();
                    semi.当前排名 = i.ToString();
                    i++;
                    list.Add(semi);
                }
                return(list.ToDataTable());

                #endregion
            }
            else if (state == 4)
            {
                #region 决赛
                data = data.Where(o => o.article.article_state == state).OrderByDescending(o => o.article.expert_score);
                List <FinalsData> list = new List <FinalsData>();
                int i = 1;
                foreach (var row in data)
                {
                    FinalsData final = new FinalsData();
                    final.作品名称 = row.article.article_title;
                    final.作品编号 = row.article.article_no;
                    final.作者姓名 = row.article.user_name;
                    final.投稿时间 = row.article.create_time.HasValue ? row.article.create_time.Value.ToString() : "";
                    final.专家打分 = row.article.expert_score.ToString();
                    final.专家姓名 = row.article.expert_score.ToString();
                    final.当前排名 = i.ToString();
                    i++;
                    list.Add(final);
                }
                return(list.ToDataTable <FinalsData>());

                #endregion
            }
            return(null);
        }