Beispiel #1
0
        public async Task <IActionResult> Index()
        {
            User user = await _userManager.FindByNameAsync(User.Identity.Name);

            if (User.IsInRole("student"))
            {
                GraduationWork graduationWork = await _context.GraduationWorks.FirstOrDefaultAsync(x => x.StudentId == user.SubjectAreaId);

                return(await Details(graduationWork?.Id));
            }

            IQueryable <GraduationWork> graduationWorks = _context.GraduationWorks
                                                          .Include(x => x.Student.Group.SchedulePlans.Where(x => x.ApprovedDate != null))
                                                          .ThenInclude(x => x.Events)
                                                          .Include(x => x.EventLogs)
                                                          .Include(x => x.Reviewer)
                                                          .Include(x => x.ScientificAdviser);

            if (User.IsInRole("teacher"))
            {
                graduationWorks = graduationWorks.Where(x => x.ScientificAdviserId == user.SubjectAreaId);
            }

            return(View(await graduationWorks.OrderByDescending(x => x.ArchievedDate).ThenBy(x => x.Student.FullName).ToListAsync()));
        }
Beispiel #2
0
        public async Task <IActionResult> Create([Bind("StudentId, Theme, ScientificAdviserId, ReviewerId")] GraduationWork graduationWork)
        {
            if (ModelState.IsValid)
            {
                _context.Add(graduationWork);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["StudentId"]           = new SelectList(_context.Students, "GradebookNumber", "FullName", graduationWork.StudentId);
            ViewData["ScientificAdviserId"] = new SelectList(_context.Teachers, "Id", "FullName", graduationWork.ScientificAdviserId);
            ViewData["ReviewerId"]          = new SelectList(_context.Teachers, "Id", "FullName", graduationWork.ReviewerId);
            return(View(graduationWork));
        }
Beispiel #3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,StudentId,Theme,ScientificAdviserId,ReviewerId")] GraduationWork graduationWork)
        {
            if (id != graduationWork.Id || !GraduationWorkExists(id))
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                _context.Update(graduationWork);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["StudentId"]           = new SelectList(_context.Students, "GradebookNumber", "FullName", graduationWork.StudentId);
            ViewData["ScientificAdviserId"] = new SelectList(_context.Teachers, "Id", "FullName", graduationWork.ScientificAdviserId);
            ViewData["ReviewerId"]          = new SelectList(_context.Teachers, "Id", "FullName", graduationWork.ReviewerId);
            return(View(graduationWork));
        }