public IActionResult Index() { var list = _context.Users.Where(u => u.UserType == UserTypes.PetOwner).ToList(); var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); var user = _context.Users.Where(u => u.Id == userId).SingleOrDefault(); if (user.UserType != UserTypes.Admin) { return(RedirectToAction("Index", "Home")); } var bookletView = new BookletViewModel(); bookletView.Profiles = list; return(View(bookletView)); }
public async Task <IActionResult> Index(string courseId, string departmentCode) { var optionsBuilder = new DbContextOptionsBuilder <AppDbContext>(); var unitOfWork = new UnitOfWork(new AppDbContext(optionsBuilder.Options)); var course = await unitOfWork.Courses.GetCourseWithDepartment(courseId); var model = new BookletViewModel(); var email = HttpContext.Session.GetString("Email"); var user = await userManager.FindByEmailAsync(email); bool status = await unitOfWork.Booklets.IsExamPassedByStudent(user.SerialNumber, courseId); model.Status = status; Booklet booklet = null; if (status == true) { booklet = await unitOfWork.Booklets.GetStudentMarkByCourse(user.SerialNumber, courseId); } if (booklet != null) { model.ExamDate = booklet.Date; model.Mark = booklet.Mark; } else { model.ExamDate = null; model.Mark = 0; } model.Year = course.Year; model.Length = course.Length; model.Description = course.Description; model.Course = course.CourseName; model.DepartmentName = course.Department.DepartmentName; model.Weight = course.Weight; model.Sector = course.Sector; return(View(model)); }
public async Task <IActionResult> Index(string searchTerm, int?page, string filter) { var email = HttpContext.Session.GetString("Email"); var user = await userManager.FindByEmailAsync(email); var optionsBuilder = new DbContextOptionsBuilder <AppDbContext>(); var unitOfWork = new UnitOfWork(new AppDbContext(optionsBuilder.Options)); var bookletListViewModel = new BookletListViewModel(); var ViewModel = new List <BookletViewModel>(); var booklets = unitOfWork.Booklets.GetBookletByStudent(user.SerialNumber, searchTerm); int sum = 0; int sumWeightedMark = 0; int sumWeight = 0; int countMark = 0; string all = null; string passed = null; string notpassed = null; if (filter != null) { if (filter.Equals("all")) { all = "all"; } else if (filter.Equals("passed")) { passed = "passed"; } else { notpassed = "notpassed"; } } if (passed != null || all != null || filter == null) { foreach (var booklet in booklets) { var item = new BookletViewModel { Course = booklet.Course.CourseName, CourseCode = booklet.Course.CourseCode, DepartmentName = booklet.Course.Department.DepartmentName, DepartmentCode = booklet.Course.Department.DepartmentCode, ExamDate = booklet.Date, Mark = booklet.Mark, Year = booklet.Course.Year, Weight = booklet.Course.Weight, Status = true }; sumWeightedMark += booklet.Mark * booklet.Course.Weight; sumWeight += booklet.Course.Weight; sum += booklet.Mark; countMark += 1; ViewModel.Add(item); } if (sumWeight != 0 && countMark != 0) { ViewBag.WeightedEverageMark = sumWeightedMark / sumWeight; ViewBag.EverageMark = sum / countMark; HttpContext.Session.SetString("WeightedEverageMark", (sumWeightedMark / sumWeight).ToString()); HttpContext.Session.SetString("EverageMark", (sum / countMark).ToString()); } else { ViewBag.WeightedEverageMark = 0; ViewBag.EverageMark = 0; } } if (all != null || notpassed != null || filter == null) { var courses = unitOfWork.Courses.SearchInDepartment(user.Department, searchTerm).ToList(); foreach (var item in courses) { if (ViewModel.Exists(b => b.Course == item.CourseName) == false) { var elem = new BookletViewModel { Course = item.CourseName, CourseCode = item.CourseCode, DepartmentName = item.Department.DepartmentName, DepartmentCode = item.Department.DepartmentCode, Status = false, Year = item.Year, Weight = item.Weight }; ViewModel.Add(elem); } } } ViewBag.WeightedEverageMark = HttpContext.Session.GetString("WeightedEverageMark"); ViewBag.EverageMark = HttpContext.Session.GetString("EverageMark"); bookletListViewModel.BookletViewModels = ViewModel.ToPagedList(page ?? 1, 4); return(View(bookletListViewModel)); }