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)));
        }