public async Task <ActionResult> MySubjects() { //get user var userId = User.Identity.GetUserId(); if (!userId.HasValue) { throw new Exception("User not found."); } List <UniSubjectDto> subjList = new List <UniSubjectDto>(); if (User.IsInRole("Professor")) { var prof = await _professorAppService.GetProfessorUserByAuthUserIdAsync(userId.Value); var profSubjList = prof.ObjectList.ToList(); foreach (var professorUniSubjectse in profSubjList) { var subject = await _subjectsAppService.GetSubjectByIdAsync(professorUniSubjectse.UniSubjectId); subjList.Add(ObjectMapper.Map <UniSubjectDto>(subject)); } } else { if (User.IsInRole("Student")) { var stud = await _studentAppService.GetStudentUserByAuthUserIdAsync(userId.Value); var studSubjList = stud.ObjectList.ToList(); foreach (var professorUniSubjectse in studSubjList) { var subject = await _subjectsAppService.GetSubjectByIdAsync(professorUniSubjectse.UniSubjectId); subjList.Add(ObjectMapper.Map <UniSubjectDto>(subject)); } } } return(View("MySubjects", new MySubjectViewModel(subjList))); }