public async Task <IActionResult> Create(CreateContestViewModel createViewModel)
        {
            var newContestDTO = new NewContestDTO()
            {
                Name         = createViewModel.Name,
                CategoryName = createViewModel.CategoryName,
                IsOpen       = createViewModel.IsOpen,
                Phase1       = createViewModel.Phase1,
                Phase2       = createViewModel.Phase2,
                Finished     = createViewModel.Finished
            };

            if (ModelState.IsValid)
            {
                try
                {
                    await this.contestService.CreateAsync(newContestDTO);

                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    toastNotification.AddErrorToastMessage(e.Message, new NotyOptions());
                    return(Redirect(Request.Path.Value.ToString()));
                }
            }
            var categories = await this.categoryService.GetAllBaseAsync();

            ViewData["Categories"] = new SelectList(categories, "Name", "Name");
            return(View());
        }
Example #2
0
        public CreateContestViewModel GetCreateContest()
        {
            var viewModel = new CreateContestViewModel
            {
                RewardStrategies = this.Data.RewardStrategies.All()
                                   .Select(r => new StrategyViewModel()
                {
                    Id          = r.Id,
                    Description = r.Description,
                    Name        = r.Name,
                })
                                   .ToList(),
                ParticipationStrategies = this.Data.ParticipationStrategies.All()
                                          .Select(p => new StrategyViewModel()
                {
                    Id          = p.Id,
                    Description = p.Description,
                    Name        = p.Name,
                })
                                          .ToList(),
                VotingStrategies = this.Data.VotingStrategies.All()
                                   .Select(v => new StrategyViewModel()
                {
                    Id          = v.Id,
                    Description = v.Description,
                    Name        = v.Name,
                })
                                   .ToList(),
                DeadlineStrategies = this.Data.DeadlineStrategies.All()
                                     .Select(dl => new StrategyViewModel()
                {
                    Id          = dl.Id,
                    Description = dl.Description,
                    Name        = dl.Name,
                })
                                     .ToList()
            };

            return(viewModel);
        }