public IActionResult UnRegisterUser([FromForm] UserContestViewModel model)
 {
     if (ModelState.IsValid)
     {
         var userContest = _userContestRepository.GetAll().Where(x => x.ContestId == model.Contest.ContestId && x.UserName == User.Identity.Name).FirstOrDefault();
         _userContestRepository.Delete(userContest.UserContestId);
         _userContestRepository.Save();
         return(RedirectToAction("Details", new { id = model.Contest.ContestId }));
     }
     return(RedirectToAction(nameof(Index)));
 }
 public IActionResult RegisterUser([FromForm] UserContestViewModel model)
 {
     //register user in database
     if (ModelState.IsValid)
     {
         var contestUser = new UserContest
         {
             UserContestId = Guid.NewGuid(),
             ContestId     = model.Contest.ContestId,
             UserName      = User.Identity.Name
         };
         _userContestRepository.Create(contestUser);
         _userContestRepository.Save();
         return(RedirectToAction(nameof(Index)));
     }
     return(RedirectToAction(nameof(Index)));
 }
        public IActionResult Details(Guid id)
        {
            var  contest            = _contestRepository.GetItem(id);
            var  listOfParticipants = _userContestRepository.GetAll().Where(x => x.ContestId == id).ToList();
            bool isRegistered       = true;
            var  participant        = listOfParticipants.Where(part => part.UserName == User.Identity?.Name).FirstOrDefault();

            if (participant == null)
            {
                isRegistered = false;
            }
            var userContest = new UserContestViewModel
            {
                Contest        = contest,
                UserRegistered = isRegistered
            };

            if (contest == null)
            {
                return(RedirectToAction(nameof(Index)));
            }
            return(View(userContest));
        }