public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            _viewMessageLogic.SetViewMessageIfExist();
            var user = _userRepository.GetById(Convert.ToInt64(_sessionManagementService.GetUserLoggedId()));

            ViewBag.IsDirector = user.Role.Name.Equals("Director");
            var allAcademicYears = _academicYearRepository.GetAllAcademicYears();

            ViewBag.CurrentSort  = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "year_desc" : "";
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            if (!string.IsNullOrEmpty(searchString))
            {
                try
                {
                    var year = Convert.ToInt32(searchString);
                    allAcademicYears = _academicYearRepository.Filter(x => x.Year.Equals(year));
                }
                catch (Exception)
                {
                    allAcademicYears = _academicYearRepository.GetAllAcademicYears();
                }
            }
            var academicYears = allAcademicYears.Select(Mapper.Map <AcademicYearDisplayModel>).ToList();

            ViewBag.CurrentFilter = searchString;
            switch (sortOrder)
            {
            case "year_desc":
                academicYears = academicYears.OrderByDescending(s => s.Year).ToList();
                break;

            default:      // Name ascending
                academicYears = academicYears.OrderBy(s => s.Year).ToList();
                break;
            }
            const int pageSize   = 10;
            var       pageNumber = (page ?? 1);

            return(View(academicYears.ToPagedList(pageNumber, pageSize)));
        }
Ejemplo n.º 2
0
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            _viewMessageLogic.SetViewMessageIfExist();
            var allAcademicYears = _academicYearRepository.GetAllAcademicYears();

            ViewBag.CurrentSort   = sortOrder;
            ViewBag.NameSortParm  = String.IsNullOrEmpty(sortOrder) ? "year_desc" : "";
            ViewBag.GradeSortParm = sortOrder == "Grade" ? "grade_desc" : "Grade";
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            if (!string.IsNullOrEmpty(searchString))
            {
                try
                {
                    var year = Convert.ToInt32(searchString);
                    allAcademicYears = _academicYearRepository.Filter(x => x.Year.Equals(year)).ToList();
                }
                catch (Exception)
                {
                    //ignore
                }
            }
            var academicYears = allAcademicYears.Select(academicYear => new DisplayAcademicYearModel
            {
                Id             = academicYear.Id,
                Year           = academicYear.Year,
                Section        = academicYear.Section,
                Approved       = academicYear.Approved,
                IsActive       = academicYear.IsActive,
                EducationLevel = academicYear.Grade.EducationLevel,
                Grade          = academicYear.Grade.Name
            }).ToList();

            ViewBag.CurrentFilter = searchString;
            switch (sortOrder)
            {
            case "year_desc":
                academicYears = academicYears.OrderByDescending(s => s.Year).ToList();
                break;

            case "Grade":
                academicYears = academicYears.OrderBy(s => s.Grade).ToList();
                break;

            case "grade_desc":
                academicYears = academicYears.OrderByDescending(s => s.Grade).ToList();
                break;

            default:      // Name ascending
                academicYears = academicYears.OrderBy(s => s.Year).ToList();
                break;
            }
            const int pageSize   = 10;
            var       pageNumber = (page ?? 1);

            return(View(academicYears.ToPagedList(pageNumber, pageSize)));
        }