示例#1
0
        /// <summary>
        /// Список дублирующихся абитуриентов
        /// </summary>
        /// <returns></returns>
        public IActionResult FindDuplicates(AbiturientsFilterAndSortModel filterAndSortModel)
        {
            ViewBag.AbiturientsFilterAndSortModel = filterAndSortModel;

            ViewBag.AbiturientStatuses = _selectListRepository.GetSelectListAbiturientStatuses(filterAndSortModel.FilterAbiturientStatus ?? 0);
            ViewBag.EntranceTestGroups = _selectListRepository.GetSelectListEntranceTestGroups(filterAndSortModel.FilterEntranceTestGroupId ?? 0);

            ViewBag.IsUserConsultant = User.IsInRole("Приёмная комиссия (консультанты)");

            var abiturs = _abiturRepository.GetAbiturients();
            var groups  = abiturs.GroupBy(a => a.AppUser.GetFullName).Where(g => g.Count() > 1).ToList();

            var duplicateAbiturs = new List <Abiturient>();

            foreach (var group in groups)
            {
                foreach (var item in group)
                {
                    var abiturient = _abiturRepository.GetAbiturients().FirstOrDefault(a => a.AbiturientId == item.AbiturientId);
                    if (abiturient != null)
                    {
                        duplicateAbiturs.Add(abiturient);
                    }
                }
            }

            return(View(nameof(Index), duplicateAbiturs.OrderBy(a => a.AppUser.GetFullName).ToList()));
        }
示例#2
0
        /// <summary>
        /// Список абитуриентов
        /// </summary>
        /// <returns></returns>
        public IActionResult Index(AbiturientsFilterAndSortModel filterAndSortModel)
        {
            ViewBag.AbiturientsFilterAndSortModel = filterAndSortModel;
            ViewBag.AbiturientStatuses            = _selectListRepository.GetSelectListAbiturientStatuses(filterAndSortModel.FilterAbiturientStatus ?? 0);
            ViewBag.SubmittingDocumentsTypes      = _selectListRepository.GetSubmittingDocumentsTypes(filterAndSortModel.FilterSubmittingDocumentsType ?? 0);
            ViewBag.EntranceTestGroups            = _selectListRepository.GetSelectListEntranceTestGroups(filterAndSortModel.FilterEntranceTestGroupId ?? 0);

            ViewBag.IsUserConsultant = User.IsInRole("Приёмная комиссия (консультанты)") ? true : false;


            var abiturs = _abiturRepository.GetAbiturients();

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

            if (filterAndSortModel.FilterAbiturientStatus != null)
            {
                abiturs = abiturs.Where(a => a.AbiturientStatusId == filterAndSortModel.FilterAbiturientStatus);
            }

            if (filterAndSortModel.FilterSubmittingDocumentsType != null)
            {
                abiturs = abiturs.Where(a => a.SubmittingDocumentsTypeId == filterAndSortModel.FilterSubmittingDocumentsType);
            }

            if (filterAndSortModel.FilterEntranceTestGroupId != null)
            {
                abiturs = abiturs.Where(a => a.EntranceTestGroupId == filterAndSortModel.FilterEntranceTestGroupId);
            }

            if (filterAndSortModel.FilterIsEduDocumentOriginal == true)
            {
                abiturs = abiturs.Where(a => a.IsEduDocumentOriginal == true);
            }

            if (filterAndSortModel.FilterRegisteredFromDate != null)
            {
                abiturs = abiturs.Where(a => a.RegisterDateTime >= filterAndSortModel.FilterRegisteredFromDate);
            }

            if (filterAndSortModel.FilterRegisteredToDate != null)
            {
                abiturs = abiturs.Where(a => a.RegisterDateTime <= filterAndSortModel.FilterRegisteredToDate.Value.AddDays(1));
            }

            abiturs = abiturs.OrderByDescending(a => a.RegisterDateTime)
                      .ThenBy(a => a.AppUser.RegisterDateTime);

            if (filterAndSortModel.IsRequestDataImmediately)
            {
                return(View(abiturs.ToList()));
            }
            else
            {
                return(View());
            }
        }