Ejemplo n.º 1
0
        /// <summary>
        /// Возвращает отфильтрованный запрос на выборку всех заявлений о приёме
        /// </summary>
        /// <param name="filterAndSortModel"></param>
        /// <returns></returns>
        public IQueryable <ApplicationForAdmission> GetApplicationForAdmissions(ApplicationForAdmissionsFilterAndSortModel filterAndSortModel)
        {
            var applicationForAdmissions = GetApplicationForAdmissions();

            if (!string.IsNullOrWhiteSpace(filterAndSortModel.FilterLastNameFragment))
            {
                applicationForAdmissions = applicationForAdmissions.Where(a => a.Abiturient.AppUser.LastName.Contains(filterAndSortModel.FilterLastNameFragment));
            }

            if (filterAndSortModel.EducationDocumentFileDataTypeId != 0)
            {
                applicationForAdmissions = applicationForAdmissions.Where(a => a.Abiturient.AppUser.UserDocuments.Any(ud => ud.FileDataTypeId == filterAndSortModel.EducationDocumentFileDataTypeId));
            }

            if (filterAndSortModel.EduFormId != 0)
            {
                applicationForAdmissions = applicationForAdmissions.Where(a => a.EduFormId == filterAndSortModel.EduFormId);
            }

            if (filterAndSortModel.EduProfileId != 0)
            {
                applicationForAdmissions = applicationForAdmissions.Where(a => a.EduProfileId == filterAndSortModel.EduProfileId);
            }

            if (filterAndSortModel.QuotaTypeId != 0)
            {
                applicationForAdmissions = applicationForAdmissions.Where(a => a.QuotaTypeId == filterAndSortModel.QuotaTypeId);
            }

            if (filterAndSortModel.PriorityId != 0)
            {
                applicationForAdmissions = applicationForAdmissions.Where(a => a.PriorityId == filterAndSortModel.PriorityId);
            }

            if (filterAndSortModel.RowStatusId != 0)
            {
                applicationForAdmissions = applicationForAdmissions.Where(a => a.RowStatusId == filterAndSortModel.RowStatusId);
            }

            applicationForAdmissions = applicationForAdmissions.OrderByDescending(q => q.FileModel.UploadDate);

            return(applicationForAdmissions);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Index(ApplicationForAdmissionsFilterAndSortModel filterAndSortModel)
        {
            var applicationForAdmissions = _applicationForAdmissionRepository.GetApplicationForAdmissions(filterAndSortModel);

            ViewBag.FilterAndSortModel = filterAndSortModel;

            ViewBag.EduForms           = _selectListRepository.GetSelectListEduForms(filterAndSortModel.EduFormId);
            ViewBag.EducationDocuments = _selectListRepository.GetSelectListEducationDocumentsForAbiturients(filterAndSortModel.EducationDocumentFileDataTypeId);
            ViewBag.EduProfiles        = _selectListRepository.GetSelectListEduProfileFullNames(filterAndSortModel.EduProfileId);
            ViewBag.QuotaTypes         = _selectListRepository.GetSelectListQuotaTypes(filterAndSortModel.QuotaTypeId);
            ViewBag.Priorities         = _selectListRepository.GetSelectListPriorities(filterAndSortModel.PriorityId);
            ViewBag.RowStatuses        = _selectListRepository.GetSelectListRowStatuses(filterAndSortModel.RowStatusId);

            if (filterAndSortModel.IsRequestDataImmediately)
            {
                return(View(await applicationForAdmissions.ToListAsync()));
            }
            else
            {
                return(View(new List <ApplicationForAdmission>()));
            }
        }