Esempio n. 1
0
        /*[HttpPost]
         * [ValidateAntiForgeryToken]
         * public async System.Threading.Tasks.Task<ActionResult> Index(ContestsIndexViewModel model)
         * {
         *  //ToDo: разобраться и доделать. Сейчас всегда возвращает null или model.Contests.Any() = false, этого не должно быть
         *  if (model != null && model.Contests != null && model.Contests.Any())
         *  {
         *      foreach (var contest in model.Contests)
         *      {
         *          db.Entry(contest).State = EntityState.Modified;
         *      }
         *      await db.SaveChangesAsync();
         *
         *      return View(model);
         *  }
         *  return RedirectToAction("Index");
         * }*/

        public ActionResult Create()
        {
            var model = new ContestsCreateViewModel
            {
                ContestsTypes = new SelectList(_db.ContestsTypes, "Id", "Name")
            };

            return(View(model));
        }
Esempio n. 2
0
        public async System.Threading.Tasks.Task <ActionResult> Create(ContestsCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (await _db.Contests.AnyAsync(c => c.ContestsTypeId == model.ContestsTypeId && c.Name == model.Name))
                {
                    ModelState.AddModelError("", "Контест с таким именем и типом уже существует");
                }
                else
                {
                    var contest = new Contest
                    {
                        Id             = Guid.NewGuid(),
                        ContestsTypeId = model.ContestsTypeId,
                        TeacherId      = User.Identity.GetUserId(),
                        Name           = model.Name,
                        IsActive       = model.IsActive
                    };

                    var contestTeacher = new ContestTeacher
                    {
                        Id        = Guid.NewGuid(),
                        ContestId = contest.Id,
                        TeacherId = contest.TeacherId
                    };

                    _db.Contests.Add(contest);
                    _db.ContestTeachers.Add(contestTeacher);
                    await _db.SaveChangesAsync();

                    return(RedirectToAction("Index"));
                }
            }
            model.ContestsTypes = new SelectList(_db.ContestsTypes, "Id", "Name");
            return(View(model));
        }