public ActionResult LtiLaunch(Lti1TestLaunch model, int link) { var request = new LtiRequest(LtiConstants.BasicLaunchLtiMessageType); request.ConsumerKey = model.ConsumerKey; request.Url = new Uri(model.Url); request.AddCustomParameters(CustomParameters); request.LaunchPresentationLocale = Thread.CurrentThread.CurrentUICulture.Name; request.LaunchPresentationDocumentTarget = DocumentTarget.frame; request.LaunchPresentationWidth = 400; request.LaunchPresentationHeight = 300; request.LaunchPresentationCssUrl = GetLaunchPresentationCssUrl(); request.LaunchPresentationReturnUrl = Request.Url.AbsoluteUri; request.LisOutcomeServiceUrl = GetLisOutcomeServiceUrl(); request.ToolConsumerInfoProductFamilyCode = "LtiLibrary"; request.ToolConsumerInfoVersion = "1"; request.ToolConsumerProfileUrl = GetToolConsumerProfileUrl(); request.ToolConsumerInstanceContactEmail = "*****@*****.**"; request.ToolConsumerInstanceDescription = Assembly.GetExecutingAssembly().GetName().ToString(); request.ToolConsumerInstanceGuid = Assembly.GetExecutingAssembly().GetName().Name; request.ToolConsumerInstanceName = "andyfmiller.com"; switch (link) { case 1: // Instructor, Course 1, Resource 1 request.ContextId = Course1.CourseId.ToString(CultureInfo.InvariantCulture); request.ContextLabel = request.ContextId; request.ContextTitle = ConvertToPlainText(Course1.Title); request.ContextType = LisContextType.CourseSection; request.LisCourseOfferingSourcedId = request.ContextId; request.LisCourseSectionSourcedId = request.ContextId; request.ResourceLinkId = Course1.Links[0].LinkId; request.ResourceLinkTitle = ConvertToPlainText(Course1.Links[0].Title); request.ResourceLinkDescription = ConvertToPlainText(Course1.Links[0].Description); request.LisPersonEmailPrimary = Instructor.Email; request.LisPersonNameFamily = Instructor.FamilyName; request.LisPersonNameGiven = Instructor.GivenName; request.LisPersonSourcedId = Instructor.UserId; request.UserId = Instructor.UserId; request.UserName = Instructor.Username; request.Roles = Role.Instructor.ToString(); break; case 2: // Instructor, Course 1, Resource 2 request.ContextId = Course1.CourseId.ToString(CultureInfo.InvariantCulture); request.ContextLabel = request.ContextId; request.ContextTitle = ConvertToPlainText(Course1.Title); request.ContextType = LisContextType.CourseSection; request.ResourceLinkId = Course1.Links[1].LinkId; request.ResourceLinkTitle = ConvertToPlainText(Course1.Links[1].Title); request.ResourceLinkDescription = ConvertToPlainText(Course1.Links[1].Description); request.LisPersonEmailPrimary = Instructor.Email; request.LisPersonNameFamily = Instructor.FamilyName; request.LisPersonNameGiven = Instructor.GivenName; request.LisPersonSourcedId = Instructor.UserId; request.UserId = Instructor.UserId; request.UserName = Instructor.Username; request.Roles = Role.Instructor.ToString(); break; case 3: // Instructor, Course 2, Resource 1 request.ContextId = Course2.CourseId.ToString(CultureInfo.InvariantCulture); request.ContextLabel = request.ContextId; request.ContextTitle = ConvertToPlainText(Course2.Title); request.ContextType = LisContextType.CourseSection; request.ResourceLinkId = Course2.Links[0].LinkId; request.ResourceLinkTitle = ConvertToPlainText(Course2.Links[0].Title); request.ResourceLinkDescription = ConvertToPlainText(Course2.Links[0].Description); request.LisPersonEmailPrimary = Instructor.Email; request.LisPersonNameFamily = Instructor.FamilyName; request.LisPersonNameGiven = Instructor.GivenName; request.LisPersonSourcedId = Instructor.UserId; request.UserId = Instructor.UserId; request.UserName = Instructor.Username; request.Roles = Role.Instructor.ToString(); break; case 4: // Student, Course 1, Resource 1 request.ContextId = Course1.CourseId.ToString(CultureInfo.InvariantCulture); request.ContextLabel = request.ContextId; request.ContextTitle = ConvertToPlainText(Course1.Title); request.ContextType = LisContextType.CourseSection; request.ResourceLinkId = Course1.Links[0].LinkId; request.ResourceLinkTitle = ConvertToPlainText(Course1.Links[0].Title); request.ResourceLinkDescription = ConvertToPlainText(Course1.Links[0].Description); request.LisPersonEmailPrimary = Student.Email; request.LisPersonNameFamily = Student.FamilyName; request.LisPersonNameGiven = Student.GivenName; request.LisPersonSourcedId = Student.UserId; request.LisResultSourcedId = Student.UserId; request.UserId = Student.UserId; request.UserName = Student.Username; request.Roles = Role.Learner.ToString(); break; case 5: // Student, Course 1, Resource 2 request.ContextId = Course1.CourseId.ToString(CultureInfo.InvariantCulture); request.ContextLabel = request.ContextId; request.ContextTitle = ConvertToPlainText(Course1.Title); request.ContextType = LisContextType.CourseSection; request.ResourceLinkId = Course1.Links[1].LinkId; request.ResourceLinkTitle = ConvertToPlainText(Course1.Links[1].Title); request.ResourceLinkDescription = ConvertToPlainText(Course1.Links[1].Description); //request.LisPersonEmailPrimary = Student.Email; request.LisPersonNameFamily = Student.FamilyName; request.LisPersonNameGiven = Student.GivenName; request.LisPersonSourcedId = Student.UserId; request.LisResultSourcedId = Student.UserId; request.UserId = Student.UserId; request.UserName = Student.Username; request.Roles = Role.Learner.ToString(); break; case 6: // Student, Course 2, Resource 1 request.ContextId = Course2.CourseId.ToString(CultureInfo.InvariantCulture); request.ContextLabel = request.ContextId; request.ContextTitle = ConvertToPlainText(Course2.Title); request.ContextType = LisContextType.CourseSection; request.ResourceLinkId = Course2.Links[0].LinkId; request.ResourceLinkTitle = ConvertToPlainText(Course2.Links[0].Title); request.ResourceLinkDescription = ConvertToPlainText(Course2.Links[0].Description); //request.LisPersonEmailPrimary = Student.Email; //request.LisPersonNameFamily = Student.FamilyName; //request.LisPersonNameGiven = Student.GivenName; request.LisPersonSourcedId = Student.UserId; request.LisResultSourcedId = Student.UserId; request.UserId = Student.UserId; request.UserName = Student.Username; request.Roles = Role.Learner.ToString(); break; case 7: // Mentor, Course 1, Resource 1 // Tests passed with this launch // 5.9 request.ContextId = Course1.CourseId.ToString(CultureInfo.InvariantCulture); request.ContextLabel = request.ContextId; request.ContextTitle = ConvertToPlainText(Course1.Title); request.ContextType = LisContextType.CourseSection; request.ResourceLinkId = Course1.Links[0].LinkId; request.ResourceLinkTitle = ConvertToPlainText(Course1.Links[0].Title); request.ResourceLinkDescription = ConvertToPlainText(Course1.Links[0].Description); request.LisPersonEmailPrimary = Mentor.Email; request.LisPersonNameFamily = Mentor.FamilyName; request.LisPersonNameGiven = Mentor.GivenName; request.UserId = Mentor.UserId; request.UserName = Mentor.Username; request.Roles = Role.Mentor.ToString(); request.RoleScopeMentor = Mentor.MentoringUserId; break; case 8: // Instructor, No context (6.4) // Tests passed with this launch // 6.4 request.ResourceLinkId = GradebookTool.LinkId; request.ResourceLinkTitle = ConvertToPlainText(GradebookTool.Title); request.ResourceLinkDescription = ConvertToPlainText(GradebookTool.Description); request.LisPersonEmailPrimary = Instructor.Email; request.LisPersonNameFamily = Instructor.FamilyName; request.LisPersonNameGiven = Instructor.GivenName; request.LisPersonSourcedId = Instructor.UserId; request.UserId = Instructor.UserId; request.UserName = Instructor.Username; request.Roles = Role.Instructor.ToString(); break; } return View(request.GetViewModel(model.ConsumerSecret)); }
// GET: Lti1 public ActionResult Index() { var model = new Lti1TestLaunch(); return View(model); }
public ActionResult Index(Lti1TestLaunch model, string link) { if (ModelState.IsValid) { return RedirectToAction("TestSuite", "Lti1", new { Url = model.Url, ConsumerKey = model.ConsumerKey, ConsumerSecret = model.ConsumerSecret }); } return View(model); }
public ActionResult TestSuite(Lti1TestLaunch model) { return View(model); }