public static MvcHtmlString RenderStudentProfile(this HtmlHelper helper, ProfileCourseViewModel model) { StringBuilder builder = new StringBuilder(); if (model.NotStartedCourses.ToList().Count > 0) { builder.Append(helper.Partial("_NotStartedCoursesProfile", model.NotStartedCourses)); } if (model.InProcessCourses.ToList().Count > 0) { builder.Append(helper.Partial("_InProcessCourseProfile", model.InProcessCourses)); } if (model.FinishedCourses.ToList().Count > 0) { builder.Append(helper.Partial("_FinishedCoursesProfile", model.FinishedCourses)); } return(MvcHtmlString.Create(builder.ToString())); }
public ActionResult Profile(string id) { string userId; if (User.IsInRole(RoleDistributer.GetAdminRole()) && id != null) { userId = id; } else { userId = User.Identity.GetUserId(); } var userDto = _userService.GetById(userId); var userViewModel = _mapper.Map <UserViewModel>(userDto); if (User.IsInRole(RoleDistributer.GetStudentRole()) || User.IsInRole(RoleDistributer.GetBlockRole()) || User.IsInRole(RoleDistributer.GetAdminRole()) && User.Identity.GetUserId() != userId && !_teacherService.IsTeacher(userId)) { var notStartedCoursesDto = _courseService.GetNotStartedCourses(userId); var notStartedCoursesViewModel = _mapper.Map <List <CourseViewModel> >(notStartedCoursesDto); var inProcessCoursesDto = _courseService.GetInProcessCourses(userId); var inProcessCoursesViewModel = _mapper.Map <List <CourseViewModel> >(inProcessCoursesDto); var finishedCoursesDto = _courseService.GetFinishedCourses(userId); var finishedCoursesViewModel = _mapper.Map <List <CourseViewModel> >(finishedCoursesDto); var profile = new ProfileCourseViewModel() { UserViewModel = userViewModel, NotStartedCourses = notStartedCoursesViewModel, InProcessCourses = inProcessCoursesViewModel, FinishedCourses = finishedCoursesViewModel }; return(View("StudentProfile", profile)); } return(View(userViewModel)); }