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()); }
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")); } }