Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }