public void DeleteTest()
        {
            PlayerInfo v = new PlayerInfo();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.Sex  = 58;
                v.Sect = 21;
                context.Set <PlayerInfo>().Add(v);
                context.SaveChanges();
            }

            PartialViewResult rv = (PartialViewResult)_controller.Delete(v.ID.ToString());

            Assert.IsInstanceOfType(rv.Model, typeof(PlayerInfoVM));

            PlayerInfoVM vm = rv.Model as PlayerInfoVM;

            v         = new PlayerInfo();
            v.ID      = vm.Entity.ID;
            vm.Entity = v;
            _controller.Delete(v.ID.ToString(), null);

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                Assert.AreEqual(context.Set <PlayerInfo>().Count(), 0);
            }
        }
        public IActionResult InitGame(PlayerInfoVM gameCodeVM)
        {
            MyContextAccessor.HttpContext.Session.SetJson("PlayerInfo", gameCodeVM);
            int page = 1;
            var questionsWithAlternativeAnswers = repository.Questions(gameCodeVM.GameCode);
            int numberOfQuestions         = questionsWithAlternativeAnswers.Count();
            List <ShowQuestionsVM> ListVM = new List <ShowQuestionsVM>();

            foreach (Question q in questionsWithAlternativeAnswers)
            {
                var result = q.Answers.OrderBy(a => a.AnswerNr).ToList <Answer>();

                ListVM.Add(new ShowQuestionsVM()
                {
                    Page       = page++,
                    QuestionId = q.QuestionNr,
                    TotalPages = numberOfQuestions,
                    RadioButtonChosenAlternativeAnswer = null,
                    QuestionString = q.QuestionString,
                    ListOfAnswers  = result
                });
            }

            MyContextAccessor.HttpContext.Session.SetJson("ListWithAllQuestionsAndAnswers", ListVM); //storing all the questions for this quiz in the session object
            List <int?> ChosenAlternativeAnswer = new List <int?>(new int?[ListVM.Count]);

            MyContextAccessor.HttpContext.Session.SetJson("ListWithChosenAlternativeAnswersForAllQuestions", ChosenAlternativeAnswer);
            if (ListVM.Count == 0)
            {
                removeInfoFromSessionObject();
                return(RedirectToAction("Index", "Main"));
            }
            return(View("Run", ListVM.ElementAt(0)));
        }
Esempio n. 3
0
        public ViewResult CreateNickname()
        {
            PlayerInfoVM gameCodeVM = new PlayerInfoVM {
                GameCode = TempData["GameCode"] as string, QuizName = TempData["QuizName"] as string
            };

            return(View(gameCodeVM));
        }
        public bool TryToSaveNewPlayer(PlayerInfoVM gameCodeVM)
        {
            int playersWithSameNicknameForThisQuiz = context.Players.Where(p => p.GameCodeId == gameCodeVM.GameCode && p.Name == gameCodeVM.NickName).Count();

            if (playersWithSameNicknameForThisQuiz == 0)
            {
                context.Add(new Player {
                    GameCodeId = gameCodeVM.GameCode, Name = gameCodeVM.NickName
                });
                context.SaveChanges();
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 5
0
        public IActionResult Index(PlayerInfoVM gameCodeVM)
        {
            string quizName = repository.getQuizName(gameCodeVM?.GameCode?.ToUpper());

            if (quizName == null)
            {
                ModelState.Clear();
                ModelState.AddModelError("", "This code does not exist!");
                return(View(gameCodeVM));
            }
            else
            {
                gameCodeVM.QuizName  = quizName;
                TempData["GameCode"] = gameCodeVM.GameCode;
                TempData["QuizName"] = quizName;
                return(RedirectToAction("CreateNickname"));
            }
        }
Esempio n. 6
0
        public IActionResult CreateNickname(PlayerInfoVM gameCodeVM)
        {
            if (!ModelState.IsValid)
            {
                return(View(gameCodeVM));
            }
            bool result = repository.TryToSaveNewPlayer(gameCodeVM);

            if (result)
            {
                return(RedirectToAction("Instructions", gameCodeVM));
            }
            else
            {
                ModelState.Clear();
                ModelState.AddModelError("", "This nickname is used! Please pick another nickname!");
            }
            return(View(gameCodeVM));
        }
 public ActionResult Edit(PlayerInfoVM vm)
 {
     if (!ModelState.IsValid)
     {
         return(PartialView(vm));
     }
     else
     {
         vm.DoEdit();
         if (!ModelState.IsValid)
         {
             vm.DoReInit();
             return(PartialView(vm));
         }
         else
         {
             return(FFResult().CloseDialog().RefreshGridRow(vm.Entity.ID));
         }
     }
 }
 public ActionResult Create(PlayerInfoVM vm)
 {
     if (!ModelState.IsValid)
     {
         return(PartialView(vm));
     }
     else
     {
         vm.DoAdd();
         if (!ModelState.IsValid)
         {
             vm.DoReInit();
             return(PartialView(vm));
         }
         else
         {
             return(FFResult().CloseDialog().RefreshGrid());
         }
     }
 }
        public void EditTest()
        {
            PlayerInfo v = new PlayerInfo();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.Sex  = 58;
                v.Sect = 21;
                context.Set <PlayerInfo>().Add(v);
                context.SaveChanges();
            }

            PartialViewResult rv = (PartialViewResult)_controller.Edit(v.ID.ToString());

            Assert.IsInstanceOfType(rv.Model, typeof(PlayerInfoVM));

            PlayerInfoVM vm = rv.Model as PlayerInfoVM;

            v    = new PlayerInfo();
            v.ID = vm.Entity.ID;

            v.Sex     = 60;
            v.Sect    = 40;
            vm.Entity = v;
            vm.FC     = new Dictionary <string, object>();

            vm.FC.Add("Entity.Sex", "");
            vm.FC.Add("Entity.Sect", "");
            _controller.Edit(vm);

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var data = context.Set <PlayerInfo>().FirstOrDefault();

                Assert.AreEqual(data.Sex, 60);
                Assert.AreEqual(data.Sect, 40);
                Assert.AreEqual(data.UpdateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
            }
        }
Esempio n. 10
0
        // GET: /<controller>/
        public async Task <IActionResult> Index(string Id = "")
        {
            if (string.IsNullOrEmpty(Id))
            {
                return(RedirectToAction("index", "home"));
            }
            var userId = await dataManager.GetSingleUserId(User.Identity.Name);

            var playerToShow = await dataManager.GetPlayerInfo(Id);

            PlayerInfoVM playerinfo = new PlayerInfoVM();

            playerinfo.player = playerToShow;
            if (userId == Id)
            {
                playerinfo.currentUser = true;
            }
            else
            {
                playerinfo.currentUser = false;
            }
            return(View(playerinfo));
        }
        public bool TryToUpdatePlayer(PlayerInfoVM gameCodeVM, List <int> ChosenAlternativeAnswer)
        {
            var player = context.Players.Where(p => p.GameCodeId == gameCodeVM.GameCode && p.Name == gameCodeVM.NickName).FirstOrDefault();

            if (!string.IsNullOrEmpty(player.Answers))
            {
                return(false);
            }
            string AnswerAlternatives = JsonConvert.SerializeObject(ChosenAlternativeAnswer);

            if (player != null)
            {
                player.Answers = AnswerAlternatives;
                player.Score   = gameCodeVM.Score;
                context.Update(player);
                context.SaveChanges();
            }
            else
            {
                return(false);
            }
            return(true);
        }
        public void CreateTest()
        {
            PartialViewResult rv = (PartialViewResult)_controller.Create();

            Assert.IsInstanceOfType(rv.Model, typeof(PlayerInfoVM));

            PlayerInfoVM vm = rv.Model as PlayerInfoVM;
            PlayerInfo   v  = new PlayerInfo();

            v.Sex     = 58;
            v.Sect    = 21;
            vm.Entity = v;
            _controller.Create(vm);

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var data = context.Set <PlayerInfo>().FirstOrDefault();

                Assert.AreEqual(data.Sex, 58);
                Assert.AreEqual(data.Sect, 21);
                Assert.AreEqual(data.CreateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
            }
        }
Esempio n. 13
0
 public ViewResult Instructions(PlayerInfoVM gameCodeVM)
 {
     return(View(gameCodeVM));
 }