public async Task <ActionResult> Learners(int?id, int courseEventId = -1) { if (id == null) { return(HttpNotFound()); } var data = new CourseEventModel(); if (courseEventId < 0) { data = await TryGetEventByCourseId(id.Value); } else { data = await TryGetCourseEvent(courseEventId); } if (data == null) { TempData["ErrorMessage"] = "Cannot get course/event info"; return(RedirectToAction("Content", "Courses", new { @area = "eLearning", @id = id.Value })); } LearnerEnrollmentModel model = new LearnerEnrollmentModel { CourseId = id.Value, CourseEventId = data.Id }; ViewBag.Role = RoleNames.eLearningLearner; return(View(model)); }
public ActionResult Create(int?id) { if (id == null) { TempData["ErrorMessage"] = "Cannot find course to Create the session."; return(RedirectToAction("Index", "Courses", new { area = "eLearning" })); } CourseEventModel model = new CourseEventModel(); model.CourseId = id.Value; return(View(model)); }
public async Task <ActionResult> Create(CourseEventModel model) { if (ModelState.IsValid) { var response = await WepApiMethod.SendApiAsync <TrxResult <CourseEvent> >(HttpVerbs.Post, CourseEventApiUrl.Create, model); if (response.isSuccess) { if (response.Data.IsSuccess) { await LogActivity(Modules.Learning, $"A session titled {model.Name} is Created for Course Id : {model.CourseId}"); TempData["SuccessMessage"] = $"A session titled {model.Name} is created. You can now invite students to the session."; return(RedirectToAction(nameof(InviteLearners), "CourseEvents", new { area = "eLearning", courseId = model.CourseId, eventId = response.Data.ObjectId, enrollmentCode = model.EnrollmentCode, title = model.Name })); } } else { TempData["ErrorMessage"] = $"Failed to create a session for this Course. - {response.Data}"; } } else { await LogError(Modules.Learning, $"Fail create session for Course Id {model.Id}"); TempData["ErrorMessage"] = $"Failed to create a session for this Course."; } return(RedirectToAction("Content", "Courses", new { area = "eLearning", id = model.CourseId })); }
public async Task <IHttpActionResult> Create(CourseEventModel model) { if (ModelState.IsValid) { var entity = await db.Courses.FindAsync(model.CourseId); if (entity == null) { return(BadRequest()); } var courseEvent = _mapper.Map <CourseEvent>(model); courseEvent.Status = entity.ViewCategory == ViewCategory.Private ? CourseEventStatus.AvailableToPrivate : CourseEventStatus.AvailableToPublic; try { db.CourseEvents.Add(courseEvent); await db.SaveChangesAsync(); } catch (Exception e) { return(BadRequest("Fail save event. - " + e.Message + " " + e.InnerException)); } if (model.HasGroup) { var group = new Group { CourseEventId = courseEvent.Id, CourseId = model.CourseId, EnrollmentCode = model.EnrollmentCode, CreatedBy = model.CreatedBy, UpdatedBy = model.CreatedBy, Description = model.Description, IsVisible = true, Name = model.Name, }; try { db.Groups.Add(group); await db.SaveChangesAsync(); courseEvent.GroupId = group.Id; } catch (Exception e) { return(BadRequest("Session created, but group cannot be created")); } db.SetModified(courseEvent); await db.SaveChangesAsync(); } TrxResult <CourseEvent> response = new TrxResult <CourseEvent> { CourseId = model.CourseId, IsSuccess = true, Message = "Success", ObjectId = courseEvent.Id, }; return(Ok(response)); } return(BadRequest("Invalid data")); }