Ejemplo n.º 1
0
        public async Task <List <PersonModel> > GetPersonByModel(PersonFilterModel model)
        {
            var personDTO = mapper.Map <PersonFilterModel, PersonFilter>(model);

            var persons = await Task.FromResult(unitOfWork.PersonRepository.GetPersonByModel(personDTO).Skip(personDTO.numberOfObjectsPerPage *personDTO.pageNumber).Take(personDTO.numberOfObjectsPerPage));

            return(mapper.Map <List <Person>, List <PersonModel> >(persons.ToList()));
        }
Ejemplo n.º 2
0
        private IQueryable <Person> GetFilterdedPersons(PersonFilterModel personsFilter)
        {
            var persons = context.Persons
                          .Include(x => x.City)
                          .Include(x => x.Phones)
                          .Include(x => x.RelatedPersons)
                          .ThenInclude(x => x.RelatedPerson)
                          .ThenInclude(x => x.Phones)
                          .GetFilterdedPersons(personsFilter);

            return(persons);
        }
Ejemplo n.º 3
0
        public IActionResult Get([FromQuery] PersonFilterModel personFilter, PageRequestModel paging)
        {
            var persons   = uow.PersonRepository.GetAll(personFilter, paging);
            var personRes = mapper.Map <List <PersonResponseModel> >(persons);
            var metadata  = new
            {
                persons.TotalCount,
                persons.PageSize,
                persons.CurrentPage,
                persons.HasNext,
                persons.HasPrevious
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
            return(Ok(personRes));
        }
Ejemplo n.º 4
0
 public async Task <IActionResult> GetPersonByModel(PersonFilterModel filter)
 {
     return(Ok(await personManager.GetPersonByModel(filter)));
 }
        public static IQueryable <Person> GetFilterdedPersons(this IQueryable <Person> persons, PersonFilterModel personsFilter)
        {
            if (personsFilter == null)
            {
                return(persons);
            }

            if (!string.IsNullOrEmpty(personsFilter.FirstName))
            {
                persons = persons.Where(x => x.FirstName.Contains(personsFilter.FirstName));
            }

            if (!string.IsNullOrEmpty(personsFilter.LastName))
            {
                persons = persons.Where(x => x.LastName.Contains(personsFilter.LastName));
            }

            if (!string.IsNullOrEmpty(personsFilter.PrivateNumber))
            {
                persons = persons.Where(x => x.PrivateNumber.Contains(personsFilter.PrivateNumber));
            }

            if (personsFilter.BirthDate.HasValue)
            {
                persons = persons.Where(x => x.BirthDate.Date == personsFilter.BirthDate.Value.Date);
            }

            if (personsFilter.CityId > 0)
            {
                persons = persons.Where(x => x.CityId == personsFilter.CityId);
            }

            if (!string.IsNullOrEmpty(personsFilter.City))
            {
                persons = persons
                          .Where(x => x.City.CityName.Contains(personsFilter.City));
            }

            if (personsFilter.Gender != null)
            {
                persons = persons
                          .Where(x => x.Gender == personsFilter.Gender);
            }
            if (personsFilter.PhoneType != null)
            {
                persons = persons
                          .Where(x => x.Phones.Any(x => x.PhoneType == personsFilter.PhoneType));
            }

            if (!string.IsNullOrEmpty(personsFilter.Number))
            {
                persons = persons
                          .Where(x => x.Phones.Any(x => x.Number.Contains(personsFilter.Number)));
            }

            if (!string.IsNullOrEmpty(personsFilter.RelatedPersonFirstName))
            {
                persons = persons
                          .Where(r => r.RelatedPersons.Any(x => x.RelatedPerson.FirstName.Contains(personsFilter.RelatedPersonFirstName)));
            }

            if (!string.IsNullOrEmpty(personsFilter.RelatedPersonLastName))
            {
                persons = persons
                          .Where(r => r.RelatedPersons.Any(x => x.RelatedPerson.LastName.Contains(personsFilter.RelatedPersonLastName)));
            }

            if (!string.IsNullOrEmpty(personsFilter.RelatedPersonPrivateNumber))
            {
                persons = persons
                          .Where(r => r.RelatedPersons.Any(x => x.RelatedPerson.PrivateNumber.Contains(personsFilter.RelatedPersonPrivateNumber)));
            }

            return(persons);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// პიროვნების ფილტრი
        /// </summary>
        /// <param></param>
        /// <returns></returns>
        public GenericResult <Page <PersonModel> > GetFilteredPerosns(int pageIndex, int pageSize, PersonFilterModel personFilsterModel)
        {
            var dALPersonFilsterModel = mapper.Map <PersonFilterModel, DALPersonFilterModel>(personFilsterModel);

            var result = personRepository.GetFilteredPerosns(dALPersonFilsterModel);

            var page = new Pager <Persons, PersonModel>(result, pageIndex, pageSize, mapper);

            return(new GenericResult <Page <PersonModel> >(Result.SuccessInstance(), page.GetPage()));
        }
Ejemplo n.º 7
0
 public PagedList <Person> GetAll(PersonFilterModel personsFilter, PageRequestModel paging)
 {
     return(PagedList <Person> .ToPagedList(GetFilterdedPersons(personsFilter), paging.PageNumber, paging.PageSize));
 }
Ejemplo n.º 8
0
 public GenericResult <Page <PersonModel> > GetFilteredPerosns(int pageIndex, PersonFilterModel personFilsterModel, [FromQuery] int pageSize = 10)
 {
     return(personBLL.GetFilteredPerosns(pageIndex, pageSize, personFilsterModel));
 }
        public async Task <PaginatedModel <PersonDTO> > GetAllPersons(int pageNumber, int pageSize, PersonFilterModel personFilter = null)
        {
            PaginatedPlainModel <Person> persons = null;

            if (personFilter != null)
            {
                var filter = PersonFilterDtoToPerson.Instance.Map(personFilter);
                persons = await unitOfWork.PersonRepository.GetAll(pageNumber, pageSize, filter);
            }
            else
            {
                persons = await unitOfWork.PersonRepository.GetAll(pageNumber, pageSize);
            }
            //TODo smt better here
            return(new PaginatedModel <PersonDTO>(persons.Select(p => PersonEntityToDtoMapper.Instance.Map(p)), persons.PageNumber, persons.PageSize, persons.TotalCount, persons.TotalPages));
        }