Exemple #1
0
        public async Task <IActionResult> OnGetAsync()
        {
            string userId = _userManager.GetUserId(User);

            Resume = HttpContext.Session.GetObject <PassionResume>($"Resume{userId}");
            if (Resume.Status == true)
            {
                Models.Passion passion = new Models.Passion();
                var            levels  = _context.Level.ToList();


                passion.Points = Resume.Poinst;
                passion.UserId = userId;

                foreach (var item in levels)
                {
                    if (passion.Points >= item.BeginOfRange &&
                        passion.Points <= item.EndOfRange)
                    {
                        passion.LevelId = item.Id;
                        break;
                    }
                }

                passion.DateOfStart  = DateTime.Today;
                passion.AlloceteTime = 0.0;

                ulong typeNumber = _context.PassionType
                                   .Where(p => p.Id == Resume.PassionTypeId)
                                   .FirstOrDefault()
                                   .Number;

                uint levelNumber = _context.Level
                                   .Where(l => l.Id == passion.LevelId)
                                   .FirstOrDefault()
                                   .Numer;

                List <Models.Passion> allTokens = await _context.Passion.ToListAsync();

                passion.Token = Mechanic
                                .ForPassion.AddPassion.getToken(typeNumber, levelNumber, allTokens);

                passion.PassionTypeId = Resume.PassionTypeId;
                _context.Passion.Add(passion);
                await _context.SaveChangesAsync();

                var user = _context.UserApp.FirstOrDefault(u => u.Id == userId);
                user.Points += Resume.Poinst;
                _context.UserApp.Update(user);
                await _context.SaveChangesAsync();
            }

            return(Page());
        }
Exemple #2
0
        public IActionResult OnPost(int pasionId)
        {
            string           userId       = _userManager.GetUserId(User);
            List <ErrorDate> outputErrors = new List <ErrorDate>();

            outputErrors.Add(chechTestFields(FirstAnswer, "Piersze"));
            outputErrors.Add(chechTestFields(SecondAnswer, "Drugie"));
            outputErrors.Add(chechTestFields(ThirdAnswer, "Trzecie"));
            outputErrors.Add(chechTestFields(FourAnswer, "Czwarte"));
            var examModel = HttpContext.Session.GetObject <PassionModelExam>($"Test{userId}");


            foreach (var error in outputErrors)
            {
                if (error.State == false)
                {
                    Exam   = examModel;
                    Errors = outputErrors;
                    return(Page());
                }
            }

            uint points = 0;

            if (examModel.FirstQuestion.CorrectAnswer == FirstAnswer)
            {
                points += 5;
            }
            if (examModel.SecondQuestion.CorrectAnswer == SecondAnswer)
            {
                points += 5;
            }
            if (examModel.ThirdQuestion.CorrectAnswer == ThirdAnswer)
            {
                points += 5;
            }
            if (examModel.FourQuestion.CorrectAnswer == FourAnswer)
            {
                points += 5;
            }

            PassionResume resume = new PassionResume();

            if (points < 10)
            {
                resume.Status        = false;
                resume.Poinst        = points;
                resume.UserId        = userId;
                resume.PassionTypeId = pasionId;
                HttpContext.Session.SetObject($"Resume{userId}", resume);
                return(RedirectToPage("/Costumer/View/Passion/Test/Resume"));
            }
            else
            {
                resume.Status        = true;
                resume.Poinst        = points;
                resume.UserId        = userId;
                resume.PassionTypeId = pasionId;
                HttpContext.Session.SetObject($"Resume{userId}", resume);
                return(RedirectToPage("/Costumer/View/Passion/Test/Resume"));
            }
        }