private static Category GetStandardSubCategory(VacancySummary vacancy, IList <Category> categories)
        {
            if (vacancy.VacancyType == VacancyType.Apprenticeship)
            {
                if (vacancy.StandardId.HasValue)
                {
                    var standardCode = CategoryPrefixes.GetStandardCode(vacancy.StandardId.Value);

                    var subCategories = categories
                                        .Where(c => c.SubCategories != null)
                                        .SelectMany(c => c.SubCategories)
                                        .ToList();

                    var standards = subCategories
                                    .Where(c => c.SubCategories != null && c.SubCategories.Any())
                                    .SelectMany(c => c.SubCategories);

                    var standard = standards
                                   .SingleOrDefault(c => c.CodeName.Split(CodeDivider).Contains(standardCode));

                    if (standard != null)
                    {
                        var standardSector = subCategories.Single(sc => sc.CodeName == standard.ParentCategoryCodeName);
                        return(new Category(standard.Id, standard.ParentCategoryCodeName, $"{standardSector.FullName} > {standard.FullName}", CategoryType.StandardSector, CategoryStatus.Active));
                    }
                }

                return(Category.UnknownStandardSector);
            }

            return(Category.InvalidStandardSector);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// TODO: Do this a better way
        /// </summary>
        /// <returns></returns>
        public Category ToCategory()
        {
            var category = new Category(Id, CategoryPrefixes.GetSectorSubjectAreaTier1Code(CodeName), FullName, CategoryType.SectorSubjectAreaTier1, (CategoryStatus)(int)Status);

            Frameworks.ToList().ForEach(f => category.SubCategories.Add(f.ToCategory()));
            return(category);
        }
        private static Category GetFrameworkSubCategory(VacancySummary vacancy, IList <Category> categories)
        {
            if (vacancy.VacancyType == VacancyType.Apprenticeship)
            {
                if (!string.IsNullOrWhiteSpace(vacancy.FrameworkCodeName))
                {
                    var frameworkCode = CategoryPrefixes.GetFrameworkCode(vacancy.FrameworkCodeName);

                    var subCategories = categories
                                        .Where(c => c.SubCategories != null)
                                        .SelectMany(c => c.SubCategories);

                    var framework = subCategories
                                    .SingleOrDefault(c => c.CodeName.Split(CodeDivider).Contains(frameworkCode));

                    if (framework != null)
                    {
                        return(new Category(framework.Id, framework.CodeName, framework.FullName, framework.CategoryType, framework.Status));
                    }
                }

                return(Category.UnknownFramework);
            }

            return(Category.InvalidFramework);
        }
        public IEnumerable <Category> GetCategories(params CategoryStatus[] statuses)
        {
            var categories      = GetFrameworks().Where(c => statuses.Contains(c.Status)).ToList();
            var standardSectors = GetSectors();

            foreach (var standardSector in standardSectors)
            {
                var sectorSubjectAreaTier1Id       = standardSector.ApprenticeshipOccupationId;
                var standardSectorCode             = CategoryPrefixes.GetStandardSectorCode(standardSector.Id);
                var sectorSubjectAreaTier1Category = categories.Single(c => c.Id == sectorSubjectAreaTier1Id);
                var standards = standardSector.Standards.Select(s => new Category(s.Id, CategoryPrefixes.GetStandardCode(s.Id), s.Name, standardSectorCode, CategoryType.Standard, CategoryStatus.Active)).ToList();
                var standardSectorCategory = new Category(standardSector.Id, standardSectorCode, standardSector.Name, CategoryPrefixes.GetSectorSubjectAreaTier1Code(sectorSubjectAreaTier1Category.CodeName), CategoryType.StandardSector, CategoryStatus.Active, standards);
                //TODO: indiscriminate addition here may lead to the subsequent need to de-duplicate subCategories
                sectorSubjectAreaTier1Category.SubCategories.Add(standardSectorCategory);
            }

            //Order the new standard sectors correctly
            foreach (var category in categories)
            {
                var orderedSubCategories = category.SubCategories.Where(c => statuses.Contains(c.Status)).OrderBy(c => c.FullName).ThenBy(c => c.CodeName).ToList();
                category.SubCategories.Clear();
                foreach (var subCategory in orderedSubCategories)
                {
                    //Remove duplicated categories
                    subCategory.FullName = FullNameFormatter.Format(subCategory.FullName);
                    var duplicateCategory = category.SubCategories.SingleOrDefault(c => c.FullName == subCategory.FullName);
                    if (duplicateCategory == null)
                    {
                        category.SubCategories.Add(subCategory);
                    }
                    else
                    {
                        //Create combined category and replace duplicates
                        var combinedCodeName      = duplicateCategory.CodeName + "|" + subCategory.CodeName;
                        var combinedSubcategories = duplicateCategory.SubCategories ?? new List <Category>();
                        foreach (var standard in subCategory.SubCategories)
                        {
                            combinedSubcategories.Add(standard);
                        }
                        foreach (var standard in combinedSubcategories)
                        {
                            standard.ParentCategoryCodeName = combinedCodeName;
                        }
                        var combinedCategory = new Category(0, combinedCodeName, duplicateCategory.FullName, duplicateCategory.ParentCategoryCodeName, CategoryType.Combined, CategoryStatus.Active, combinedSubcategories);
                        var currentIndex     = category.SubCategories.IndexOf(duplicateCategory);
                        category.SubCategories.Insert(currentIndex, combinedCategory);
                        category.SubCategories.Remove(duplicateCategory);
                    }
                }
            }

            return(categories);
        }
Ejemplo n.º 5
0
        private void NormalizeCategoriesAndSubcategories(ApprenticeshipSearchViewModel model)
        {
            if (!CategoryPrefixes.IsSectorSubjectAreaTier1Code(model.Category))
            {
                model.Category = CategoryPrefixes.GetSectorSubjectAreaTier1Code(model.Category);
            }

            model.SubCategories = model.SubCategories?.Select(c =>
            {
                if (!CategoryPrefixes.IsFrameworkCode(c) && !CategoryPrefixes.IsStandardSectorCode(c))
                {
                    // Is an old saved search, so it's a framework
                    return(CategoryPrefixes.GetFrameworkCode(c));
                }

                return(c);
            }).ToArray();
        }
        private static Category GetSectorCategory(this VacancySummary vacancy, IList <Category> categories)
        {
            if (vacancy.VacancyType == VacancyType.Traineeship)
            {
                if (!string.IsNullOrWhiteSpace(vacancy.SectorCodeName))
                {
                    var code = CategoryPrefixes.GetSectorSubjectAreaTier1Code(vacancy.SectorCodeName);

                    var category = categories
                                   .SingleOrDefault(c => c.CodeName.Split(CodeDivider).Contains(code));

                    if (category != null)
                    {
                        return(new Category(category.Id, category.CodeName, category.FullName, category.CategoryType, category.Status));
                    }
                }

                return(Category.UnknownSectorSubjectAreaTier1);
            }

            return(Category.InvalidSectorSubjectAreaTier1);
        }
Ejemplo n.º 7
0
        public override void Initialise()
        {
            Mapper.CreateMap <Domain.Entities.Raa.Locations.GeoPoint, GeoPointViewModel>();
            Mapper.CreateMap <GeoPointViewModel, Domain.Entities.Raa.Locations.GeoPoint>()
            .ForMember(dest => dest.Easting, opt => opt.Ignore())
            .ForMember(dest => dest.Northing, opt => opt.Ignore());

            Mapper.CreateMap <Domain.Entities.Locations.GeoPoint, GeoPointViewModel>();
            Mapper.CreateMap <GeoPointViewModel, Domain.Entities.Locations.GeoPoint>();

            Mapper.CreateMap <PostalAddress, AddressViewModel>()
            .ForMember(dest => dest.Uprn, opt => opt.Ignore());
            Mapper.CreateMap <AddressViewModel, PostalAddress>()
            .ForMember(dest => dest.PostalAddressId, opt => opt.Ignore())
            .ForMember(dest => dest.ValidationSourceCode, opt => opt.Ignore())
            .ForMember(dest => dest.ValidationSourceKeyValue, opt => opt.Ignore())
            .ForMember(dest => dest.DateValidated, opt => opt.Ignore());
            Mapper.CreateMap <Employer, EmployerViewModel>()
            .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.EmployerStatus));
            Mapper.CreateMap <EmployerViewModel, Employer>()
            .ForMember(dest => dest.EmployerGuid, opt => opt.Ignore())
            .ForMember(dest => dest.PrimaryContact, opt => opt.Ignore())
            .ForMember(dest => dest.IsPositiveAboutDisability, opt => opt.Ignore())
            .ForMember(dest => dest.EmployerStatus, opt => opt.MapFrom(src => src.Status));
            Mapper.CreateMap <VacancyOwnerRelationship, VacancyOwnerRelationshipViewModel>()
            .ForMember(dest => dest.IsEmployerLocationMainApprenticeshipLocation, opt => opt.Ignore())
            .ForMember(dest => dest.VacancyGuid, opt => opt.Ignore())
            .ForMember(dest => dest.NumberOfPositions, opt => opt.Ignore())
            .ForMember(dest => dest.ComeFromPreview, opt => opt.Ignore())
            .ForMember(dest => dest.Status, opt => opt.Ignore())
            .ForMember(dest => dest.VacancyReferenceNumber, opt => opt.Ignore())
            .ForMember(dest => dest.EmployerDescriptionComment, opt => opt.Ignore())
            .ForMember(dest => dest.EmployerWebsiteUrlComment, opt => opt.Ignore())
            .ForMember(dest => dest.NumberOfPositionsComment, opt => opt.Ignore())
            .ForMember(dest => dest.Employer, opt => opt.Ignore())
            .ForMember(dest => dest.IsEmployerAddressValid, opt => opt.Ignore())
            .ForMember(dest => dest.AnonymousEmployerDescription, src => src.Ignore())
            .ForMember(dest => dest.AnonymousEmployerDescriptionComment, src => src.Ignore())
            .ForMember(dest => dest.AnonymousEmployerReason, src => src.Ignore())
            .ForMember(dest => dest.AnonymousEmployerReasonComment, src => src.Ignore())
            .ForMember(dest => dest.IsAnonymousEmployer, src => src.Ignore())
            .ForMember(dest => dest.OriginalFullName, src => src.Ignore())
            .ForMember(dest => dest.AnonymousAboutTheEmployer, src => src.Ignore())
            .ForMember(dest => dest.AnonymousAboutTheEmployerComment, src => src.Ignore());
            Mapper.CreateMap <VacancyLocation, VacancyLocationAddressViewModel>()
            .ForMember(dest => dest.OfflineApplicationUrl, opt => opt.MapFrom(src => src.EmployersWebsite));
            Mapper.CreateMap <VacancyLocationAddressViewModel, VacancyLocation>()
            .ForMember(dest => dest.VacancyId, opt => opt.Ignore())
            .ForMember(dest => dest.LocalAuthorityCode, opt => opt.Ignore())
            .ForMember(dest => dest.EmployersWebsite, opt => opt.MapFrom(src => src.OfflineApplicationUrl));

            Mapper.CreateMap <DateTime?, DateViewModel>().ConvertUsing <DateTimeToDateViewModelConverter>();
            Mapper.CreateMap <DateTime, DateViewModel>().ConvertUsing <DateTimeToDateViewModelConverter>();

            Mapper.CreateMap <Vacancy, VacancyDatesViewModel>().ConvertUsing <VacancyToVacancyDatesViewModelConverter>();

            Mapper.CreateMap <Vacancy, NewVacancyViewModel>()
            .ForMember(dest => dest.VacancyGuid, opt => opt.Ignore())
            .ForMember(dest => dest.ComeFromPreview, opt => opt.Ignore())
            .ForMember(dest => dest.Ukprn, opt => opt.Ignore())
            .ForMember(dest => dest.VacancyOwnerRelationship, opt => opt.Ignore())
            .ForMember(dest => dest.LocationAddresses, opt => opt.Ignore())
            .ForMember(dest => dest.AutoSaveTimeoutInSeconds, opt => opt.Ignore())
            .ForMember(dest => dest.AnonymousEmployerDescription, src => src.Ignore())
            .ForMember(dest => dest.AnonymousEmployerReason, src => src.Ignore());

            Mapper.CreateMap <Vacancy, TrainingDetailsViewModel>()
            .ForMember(dest => dest.FrameworkCodeName, opt => opt.MapFrom(src => CategoryPrefixes.GetFrameworkCode(src.FrameworkCodeName)))
            .ForMember(dest => dest.SectorCodeName, opt => opt.MapFrom(src => CategoryPrefixes.GetSectorSubjectAreaTier1Code(src.SectorCodeName)))
            .ForMember(dest => dest.SectorsAndFrameworks, opt => opt.Ignore())
            .ForMember(dest => dest.Standards, opt => opt.Ignore())
            .ForMember(dest => dest.Sectors, opt => opt.Ignore())
            .ForMember(dest => dest.ComeFromPreview, opt => opt.Ignore())
            .ForMember(dest => dest.AutoSaveTimeoutInSeconds, opt => opt.Ignore());

            Mapper.CreateMap <Wage, WageViewModel>().ConvertUsing <WageToWageViewModelConverter>();
            Mapper.CreateMap <WageViewModel, Wage>().ConvertUsing <WageViewModelToWageConverter>();

            Mapper.CreateMap <Vacancy, FurtherVacancyDetailsViewModel>().ConvertUsing <VacancyToFurtherVacancyDetailsViewModelConverter>();

            Mapper.CreateMap <Vacancy, VacancyRequirementsProspectsViewModel>()
            .ForMember(dest => dest.ComeFromPreview, opt => opt.Ignore())
            .ForMember(dest => dest.AutoSaveTimeoutInSeconds, opt => opt.Ignore());

            Mapper.CreateMap <Vacancy, VacancyQuestionsViewModel>()
            .ForMember(dest => dest.ComeFromPreview, opt => opt.Ignore())
            .ForMember(dest => dest.AutoSaveTimeoutInSeconds, opt => opt.Ignore());

            Mapper.CreateMap <Vacancy, VacancyViewModel>().ConvertUsing <VacancyToVacancyViewModelConverter>();
            Mapper.CreateMap <VacancySummary, VacancySummaryViewModel>().ConvertUsing <VacancyToVacancySummaryViewModelConverter>();

            //Applications
            Mapper.CreateMap <Address, AddressViewModel>()
            .ForMember(dest => dest.AddressLine5, opt => opt.Ignore())
            .ForMember(dest => dest.Town, opt => opt.Ignore())
            .ForMember(dest => dest.County, opt => opt.Ignore());

            Mapper.CreateMap <Vacancy, ApplicationVacancyViewModel>()
            .ForMember(v => v.EmployerName, opt => opt.Ignore());

            Mapper.CreateMap <AboutYou, AboutYouViewModel>();
            Mapper.CreateMap <Education, EducationViewModel>();
            Mapper.CreateMap <Qualification, QualificationViewModel>();
            Mapper.CreateMap <WorkExperience, WorkExperienceViewModel>();
            Mapper.CreateMap <TrainingCourse, TrainingCourseViewModel>();

            //Apprenticeship
            Mapper.CreateMap <ApprenticeshipApplicationDetail, ApplicantDetailsViewModel>()
            .ForMember(v => v.Name, opt => opt.MapFrom(src => new Name(src.CandidateDetails.FirstName, src.CandidateDetails.MiddleNames, src.CandidateDetails.LastName).GetDisplayText()))
            .ForMember(v => v.Address, opt => opt.MapFrom(src => Map <Address, AddressViewModel>(src.CandidateDetails.Address)))
            .ForMember(v => v.DateOfBirth, opt => opt.MapFrom(src => src.CandidateDetails.DateOfBirth))
            .ForMember(v => v.PhoneNumber, opt => opt.MapFrom(src => src.CandidateDetails.PhoneNumber))
            .ForMember(v => v.EmailAddress, opt => opt.MapFrom(src => src.CandidateDetails.EmailAddress))
            .ForMember(v => v.DisabilityStatus, opt => opt.MapFrom(src => src.CandidateInformation.DisabilityStatus))
            .ForMember(m => m.ApplicantId, opt => opt.MapFrom(s => s.EntityId.GetApplicantId(0)));

            Mapper.CreateMap <ApprenticeshipApplicationDetail, VacancyQuestionAnswersViewModel>()
            .ForMember(v => v.FirstQuestionAnswer, opt => opt.MapFrom(src => src.AdditionalQuestion1Answer))
            .ForMember(v => v.SecondQuestionAnswer, opt => opt.MapFrom(src => src.AdditionalQuestion2Answer))
            .ForMember(v => v.AnythingWeCanDoToSupportYourInterviewAnswer, opt => opt.MapFrom(src => src.CandidateInformation.AboutYou.Support));

            Mapper.CreateMap <ApprenticeshipApplicationDetail, AnonymisedApplicantDetailsViewModel>()
            .ForMember(v => v.ApplicantId, opt => opt.MapFrom(src => src.CandidateId.GetApplicantId(0)));

            Mapper.CreateMap <ApprenticeshipApplicationDetail, ApprenticeshipApplicationViewModel>()
            .ForMember(v => v.ApplicationSelection, opt => opt.MapFrom(src => Map <ApprenticeshipApplicationDetail, ApplicationSelectionViewModel>(src)))
            .ForMember(v => v.Vacancy, opt => opt.Ignore())
            .ForMember(v => v.ApplicantDetails, opt => opt.MapFrom(src => Map <ApprenticeshipApplicationDetail, ApplicantDetailsViewModel>(src)))
            .ForMember(v => v.AnonymousApplicantDetails, opt => opt.MapFrom(src => Map <ApprenticeshipApplicationDetail, AnonymisedApplicantDetailsViewModel>(src)))
            .ForMember(v => v.AboutYou, opt => opt.MapFrom(src => Map <AboutYou, AboutYouViewModel>(src.CandidateInformation.AboutYou)))
            .ForMember(v => v.Education, opt => opt.MapFrom(src => Map <Education, EducationViewModel>(src.CandidateInformation.EducationHistory)))
            .ForMember(v => v.Qualifications, opt => opt.MapFrom(src => Map <IList <Qualification>, IList <QualificationViewModel> >(src.CandidateInformation.Qualifications)))
            .ForMember(v => v.WorkExperience, opt => opt.MapFrom(src => Map <IList <WorkExperience>, IList <WorkExperienceViewModel> >(src.CandidateInformation.WorkExperience)))
            .ForMember(v => v.TrainingCourses, opt => opt.MapFrom(src => Map <IList <TrainingCourse>, IList <TrainingCourseViewModel> >(src.CandidateInformation.TrainingCourses)))
            .ForMember(v => v.NextStepsUrl, opt => opt.Ignore())
            .ForMember(v => v.ConfirmationStatusSentMessage, opt => opt.Ignore())
            .ForMember(v => v.VacancyQuestionAnswers, opt => opt.MapFrom(src => Map <ApprenticeshipApplicationDetail, VacancyQuestionAnswersViewModel>(src)))
            .ForMember(v => v.ProviderName, opt => opt.Ignore())
            .ForMember(v => v.Contact, opt => opt.Ignore());

            Mapper.CreateMap <ApprenticeshipApplicationDetail, ApplicationSelectionViewModel>()
            .ForMember(v => v.ApplicationId, opt => opt.MapFrom(src => src.EntityId))
            .ForMember(v => v.VacancyReferenceNumber, opt => opt.Ignore())
            .ForMember(v => v.FilterType, opt => opt.Ignore())
            .ForMember(v => v.ApplicantId, opt => opt.Ignore())
            .ForMember(v => v.FirstName, opt => opt.Ignore())
            .ForMember(v => v.LastName, opt => opt.Ignore())
            .ForMember(v => v.Postcode, opt => opt.Ignore())
            .ForMember(v => v.OrderByField, opt => opt.Ignore())
            .ForMember(v => v.Order, opt => opt.Ignore())
            .ForMember(v => v.PageSize, opt => opt.Ignore())
            .ForMember(v => v.PageSizes, opt => opt.Ignore())
            .ForMember(v => v.CurrentPage, opt => opt.Ignore());

            //Traineeship
            Mapper.CreateMap <TraineeshipApplicationDetail, ApplicantDetailsViewModel>()
            .ForMember(v => v.Name, opt => opt.MapFrom(src => new Name(src.CandidateDetails.FirstName, src.CandidateDetails.MiddleNames, src.CandidateDetails.LastName).GetDisplayText()))
            .ForMember(v => v.Address, opt => opt.MapFrom(src => Map <Address, AddressViewModel>(src.CandidateDetails.Address)))
            .ForMember(v => v.DateOfBirth, opt => opt.MapFrom(src => src.CandidateDetails.DateOfBirth))
            .ForMember(v => v.PhoneNumber, opt => opt.MapFrom(src => src.CandidateDetails.PhoneNumber))
            .ForMember(v => v.EmailAddress, opt => opt.MapFrom(src => src.CandidateDetails.EmailAddress))
            .ForMember(v => v.DisabilityStatus, opt => opt.MapFrom(src => src.CandidateInformation.DisabilityStatus))
            .ForMember(m => m.ApplicantId, opt => opt.MapFrom(s => s.EntityId.GetApplicantId(0)));

            Mapper.CreateMap <TraineeshipApplicationDetail, VacancyQuestionAnswersViewModel>()
            .ForMember(v => v.FirstQuestionAnswer, opt => opt.MapFrom(src => src.AdditionalQuestion1Answer))
            .ForMember(v => v.SecondQuestionAnswer, opt => opt.MapFrom(src => src.AdditionalQuestion2Answer))
            .ForMember(v => v.AnythingWeCanDoToSupportYourInterviewAnswer, opt => opt.MapFrom(src => src.CandidateInformation.AboutYou.Support));

            Mapper.CreateMap <TraineeshipApplicationDetail, AnonymisedApplicantDetailsViewModel>()
            .ForMember(v => v.ApplicantId, opt => opt.MapFrom(src => src.CandidateId.GetApplicantId(0)));

            Mapper.CreateMap <TraineeshipApplicationDetail, TraineeshipApplicationViewModel>()
            .ForMember(v => v.ApplicationSelection, opt => opt.MapFrom(src => Map <TraineeshipApplicationDetail, ApplicationSelectionViewModel>(src)))
            .ForMember(v => v.Vacancy, opt => opt.Ignore())
            .ForMember(v => v.ApplicantDetails, opt => opt.MapFrom(src => Map <TraineeshipApplicationDetail, ApplicantDetailsViewModel>(src)))
            .ForMember(v => v.AnonymousApplicantDetails, opt => opt.MapFrom(src => Map <TraineeshipApplicationDetail, AnonymisedApplicantDetailsViewModel>(src)))
            .ForMember(v => v.AboutYou, opt => opt.MapFrom(src => Map <AboutYou, AboutYouViewModel>(src.CandidateInformation.AboutYou)))
            .ForMember(v => v.Education, opt => opt.MapFrom(src => Map <Education, EducationViewModel>(src.CandidateInformation.EducationHistory)))
            .ForMember(v => v.Qualifications, opt => opt.MapFrom(src => Map <IList <Qualification>, IList <QualificationViewModel> >(src.CandidateInformation.Qualifications)))
            .ForMember(v => v.WorkExperience, opt => opt.MapFrom(src => Map <IList <WorkExperience>, IList <WorkExperienceViewModel> >(src.CandidateInformation.WorkExperience)))
            .ForMember(v => v.TrainingCourses, opt => opt.MapFrom(src => Map <IList <TrainingCourse>, IList <TrainingCourseViewModel> >(src.CandidateInformation.TrainingCourses)))
            .ForMember(v => v.VacancyQuestionAnswers, opt => opt.MapFrom(src => Map <TraineeshipApplicationDetail, VacancyQuestionAnswersViewModel>(src)))
            .ForMember(v => v.ConfirmationStatusSentMessage, opt => opt.Ignore())
            .ForMember(v => v.UnSuccessfulReason, opt => opt.Ignore())
            .ForMember(v => v.SuccessfulDateTime, opt => opt.Ignore())
            .ForMember(v => v.UnsuccessfulDateTime, opt => opt.Ignore());

            Mapper.CreateMap <TraineeshipApplicationDetail, ApplicationSelectionViewModel>()
            .ForMember(v => v.ApplicationId, opt => opt.MapFrom(src => src.EntityId))
            .ForMember(v => v.VacancyReferenceNumber, opt => opt.Ignore())
            .ForMember(v => v.FilterType, opt => opt.Ignore())
            .ForMember(v => v.ApplicantId, opt => opt.Ignore())
            .ForMember(v => v.FirstName, opt => opt.Ignore())
            .ForMember(v => v.LastName, opt => opt.Ignore())
            .ForMember(v => v.Postcode, opt => opt.Ignore())
            .ForMember(v => v.OrderByField, opt => opt.Ignore())
            .ForMember(v => v.Order, opt => opt.Ignore())
            .ForMember(v => v.PageSize, opt => opt.Ignore())
            .ForMember(v => v.PageSizes, opt => opt.Ignore())
            .ForMember(v => v.CurrentPage, opt => opt.Ignore());
        }