public IActionResult Get([FromQuery] AnimalQueryFilter filter) { var animals = _service.GetAnimals(filter); var animalsDto = _mapper.Map <IEnumerable <Animal>, IEnumerable <AnimalResponseDto> >(animals); var response = new ApiResponse <IEnumerable <AnimalResponseDto> >(animalsDto); return(Ok(response)); }
public PagedList <Animal> GetAnimals(AnimalQueryFilter filter) { var pageNumber = filter.PageNumber == 0 ? _options.DefaultPageNumber : filter.PageNumber; var pageSize = filter.PageSize == 0 ? _options.DefaultPageSize : filter.PageSize; var animals = _unitOfWork.AnimalRepository.GetAnimals(filter); return(PagedList <Animal> .Create(animals, pageNumber, pageSize)); }
public IQueryable <Animal> GetAnimals(AnimalQueryFilter filter) { Expression <Func <Animal, bool> > expression = animal => animal.Id > 0; if (!string.IsNullOrEmpty(filter.Name) && !string.IsNullOrWhiteSpace(filter.Name)) { Expression <Func <Animal, bool> > expr = animal => animal.Name.Contains(filter.Name); expression = expression.And(expr); } if (filter.Family.HasValue) { Expression <Func <Animal, bool> > expr = animal => animal.FamilyId == filter.Family.Value; expression = expression.And(expr); } if (filter.Genus.HasValue) { Expression <Func <Animal, bool> > expr = animal => animal.GenusId == filter.Genus.Value; expression = expression.And(expr); } if (filter.Specie.HasValue) { Expression <Func <Animal, bool> > expr = animal => animal.SpeciesId == filter.Specie.Value; expression = expression.And(expr); } if (filter.Specie.HasValue) { Expression <Func <Animal, bool> > expr = animal => animal.CaptureDate.Value.Date >= filter.CaptureDateMin.Value.Date && animal.CaptureDate.Value.Date <= filter.CaptureDateMax.Value.Date; expression = expression.And(expr); } if (!string.IsNullOrEmpty(filter.RfTag) && !string.IsNullOrWhiteSpace(filter.RfTag)) { //Expression<Func<Animal, bool>> expr = animal => animal.RfidTag.Tag == filter.RfTag; Expression <Func <Animal, bool> > expr = animal => animal.RfidTag.Tag == filter.RfTag; expression = expression.And(expr); } return(FindByCondition(expression)); }
public IActionResult Get([FromQuery] AnimalQueryFilter filter) { var animals = _service.GetAnimals(filter); var animalsDto = _mapper.Map <IEnumerable <Animal>, IEnumerable <AnimalResponseDto> >(animals); var meta = new Metadata { CurrentPage = animals.CurrentPage, HasNextPage = animals.HasNextPage, HasPreviusPage = animals.HasPreviusPage, PageSize = animals.PageSize, TotalCount = animals.TotalCount, TotalPage = animals.TotalPages }; var response = new ApiResponse <IEnumerable <AnimalResponseDto> >(animalsDto, meta); return(Ok(response)); }
public IEnumerable <Animal> GetAnimals(AnimalQueryFilter filter) { var animals = _unitOfWork.AnimalRepository.GetAnimals(filter); return(animals); }