public ActionResult SubmitTutorialAnswers(NegotiationTutorialModel model) { if (model == null || model.TutorialId == null) { return(RedirectToAction("Negotiation")); } if (!model.Questions.Select(x => x.Answer).SequenceEqual(NegotiationManager.TutorialModels[model.TutorialId].Questions.Select(x => x.ActualAnswer))) { ModelState.AddModelError("Wrong answer", "One or more answers was wrong."); return(View("NegotiationTutorial", NegotiationManager.TutorialModels[model.TutorialId])); } NegotiationTutorialModel temp; NegotiationManager.TutorialModels.TryRemove(model.TutorialId, out temp); NegotiationEngine engine = NegotiationManager.OnGoingNegotiations[model.TutorialId]; NegotiationViewModel newModel = new NegotiationViewModel { Id = model.TutorialId, AiSide = engine.AiConfig.Side, HumanConfig = engine.HumanConfig, RemainingTime = TimeSpan.FromSeconds(engine.Domain.NumberOfRounds * engine.Domain.RoundLength.TotalSeconds), Domain = engine.Domain, Actions = new List <NegotiationActionModel>() }; engine.BeginNegotiation(); return(RedirectToAction("Negotiation", new { negotiationId = model.TutorialId })); }
public ActionResult NegotiationTutorial(NegotiationTutorialModel model) { if (model == null || model.TutorialId == null) { return(RedirectToAction("Negotiation")); } return(View("NegotiationTutorial", model)); }
public ActionResult SubmitUserData(PreNegotiationQuestionnaireViewModel model) { if (!ModelState.IsValid) { return(View("PreNegotiationQuestionnaire", model)); } if (!model.AgreeIRB) { ModelState.AddModelError("AgreeIRB", "Please agree to the IRB form"); return(View("PreNegotiationQuestionnaire", model)); } String id = CreateNewNegotiation(model); NegotiationTutorialModel tutModel = CreateTutorialModel(id); NegotiationManager.TutorialModels.TryAdd(id, tutModel); return(NegotiationTutorial(tutModel)); }