Пример #1
0
        public async Task <IActionResult> StudentProfile(string returnUrl)
        {
            var sanitizer = new HtmlSanitizer();
            var user      = await Manager.FindByNameAsync(this.User.Identity.Name);

            var model = new StudentProgressViewModel();

            model.User              = user;
            model.returnUrl         = returnUrl;
            model.Tasks             = Docs.GetStudentTasks(user.Id) ?? new List <StTask>();
            model.Group             = Groups.GetGroupById(((StudentUser)user).GroupID);
            model.UnvisitedLectures = Groups.Lectures.Where(x => x.Date < DateTime.Now && !x.Visits.Any(y => y.VisitorID == user.Id) && x.GroupID == model.Group.GroupID).AsNoTracking().ToList() ?? new List <Lecture>();
            model.VisitedLectures   = Groups.Lectures.Where(x => x.Date < DateTime.Now && x.Visits.Any(y => y.VisitorID == user.Id) && x.GroupID == model.Group.GroupID).AsNoTracking().ToList() ?? new List <Lecture>();
            model.HtmlData          = sanitizer.Sanitize(CommonMark.CommonMarkConverter.Convert(user.Description ?? "### No description"));


            return(View(model));
        }