public async Task <ActionResult> CatchForm(IFormCollection form) { var quizid = Convert.ToString(form["QuizID"]); var QuizID = quizid.Split(",").ToList()[0]; var stringvragen = Convert.ToString(form["QuestionID"]); List <string> vragen = stringvragen.Split(",").ToList(); if (form.Count() != (vragen.Count() + 7)) { throw new Exception("Please fill in all the questions"); // return RedirectToAction("Play", "QuestionsAnswers", new { id = QuizID }); } else { var stringvragentext = Convert.ToString(form["QuestionText"]); List <string> StringQuestion = stringvragentext.Split(",").ToList(); List <string> Iscorrect = new List <string>(); List <History> Histories = new List <History>(); for (int i = 0; i < vragen.Count(); i++) { var correct = Convert.ToString(form.ElementAt(i + 6)); string pattern = @"^(\[){1}(.*?)(\]){1}$"; correct = Regex.Replace(correct, pattern, "$2"); correct = correct.Trim(); var DefCorrect = correct.Split(","); Iscorrect.Add(DefCorrect[1].Trim()); History history = new History { QuestionID = Guid.Parse(vragen[i]), Correct = Convert.ToByte(Iscorrect[i]), UserId = User.FindFirstValue(ClaimTypes.NameIdentifier), HistoryID = Guid.NewGuid(), QuestionText = StringQuestion[i], QuizID = Guid.Parse(QuizID) }; Histories.Add(history); TempData["Histories"] = JsonConvert.SerializeObject(Histories); var created = await historyRepo.Add(history); if (created == null) { throw new Exception("Invalid Entry"); } } return(RedirectToAction("Index", "History", new { length = Histories.Count() })); } }
public async Task <IActionResult> Index(IFormCollection collection) { var collectedAnswers = new List <AnswersTable>(); var collectedResult = collection.Take(collection.Count() - 1); foreach (var item in collectedResult) { var ans = new AnswersTable(); ans.Answer = item.Value; ans.QuestionId = Convert.ToInt32(item.Key); ans.DateSubmitted = DateTime.Now.ToShortDateString(); collectedAnswers.Add(ans); await _specialHelper.QuestionTypeAccess(ans.QuestionId, ans.Answer); } await _contex.Answers.AddRangeAsync(collectedAnswers); await _contex.SaveChangesAsync(); return(RedirectToAction("ThankYouPage")); }
/// <summary> /// 生成 authorization_code(authorization code 授权方式)、生成 access_token (implicit 授权模式) /// </summary> public override async Task AuthorizeEndpoint(OAuthAuthorizeEndpointContext context) { string redirectUri = string.Empty, clientId = string.Empty, clientSecret = string.Empty; IFormCollection formColls = await context.Request.ReadFormAsync(); //form类型的参数 if (formColls != null && formColls.Count() > 0) { redirectUri = formColls["redirect_uri"]; clientId = formColls["client_id"]; clientSecret = formColls["client_secret"]; } else { //url类型的参数 redirectUri = context.Request.Query["redirect_uri"]; clientId = context.Request.Query["client_id"]; clientSecret = context.Request.Query["client_secret"]; } OauClient client = Clients.ApiClients.FirstOrDefault(a => a.AppId == clientId && a.AppSecret == clientSecret); if (context.AuthorizeRequest.IsImplicitGrantType) { logger.Debug("AuthorizeEndpoint,implicit"); //implicit 授权方式 HandleImplicitGrant(context, client, redirectUri); } else if (context.AuthorizeRequest.IsAuthorizationCodeGrantType) { //authorization code 授权方式 if (client != null) { await HandleAuthorizationCodeGrant(context, client, redirectUri); } } }