public async Task <IActionResult> EditCompetition(int id, Competition competition)
        {
            if (id != competition.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    competition.UpdatedAt = DateTime.Now;
                    competition.AwardDate = competition.EndDate.AddDays(2);
                    CheckStatus(competition);
                    _context.Update(competition);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CompetitionExists(competition.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(CompetitionList)));
            }
            var staffList = await _userManager.GetUsersInRoleAsync("staff");

            ViewData["UserID"] = new SelectList(staffList, "Id", "FullName", competition.UserID);
            return(View(competition));
        }
示例#2
0
        private void UpdateStatus()
        {
            var competitionList = _context.Competition.ToList();

            for (int i = 0; i < competitionList.Count; i++)
            {
                if (competitionList[i].StartDate <= DateTime.Now.Date && DateTime.Now.Date <= competitionList[i].EndDate)
                {
                    competitionList[i].Status = CompetitonStatus.During;
                }
                else
                {
                    if (DateTime.Now.Date < competitionList[i].StartDate && DateTime.Now.Date < competitionList[i].EndDate)
                    {
                        competitionList[i].Status = CompetitonStatus.ComingUp;
                    }
                    else
                    {
                        if (competitionList[i].StartDate.Date < DateTime.Now.Date && competitionList[i].EndDate.Date < DateTime.Now.Date)
                        {
                            competitionList[i].Status = CompetitonStatus.Ended;
                        }
                        if (competitionList[i].EndDate.Date < DateTime.Now.Date && DateTime.Now.Date <= competitionList[i].AwardDate.Date)
                        {
                            competitionList[i].Status = CompetitonStatus.Examining;
                        }
                    }
                }
                _context.Update(competitionList[i]);
                _context.SaveChanges();
            }
        }
        public async Task <IActionResult> Delete(int id)
        {
            var post = _context.CompetitionPost.Include(a => a.Post).Where(b => b.PostID == id).SingleOrDefault();

            post.Available      = false;
            post.Post.Available = false;
            _context.Update(post);
            await _context.SaveChangesAsync();

            TempData["Success"] = "Deleted success!";
            return(RedirectToAction(nameof(MyAccount)));
        }