Exemple #1
0
        private IQueryable <Unit> ProcessUnitFilter(IQueryable <Unit> units, UnitUserParams userParams, Expression <Func <Unit, bool> > filter)
        {
            if (filter != null)
            {
                units = units.Where(filter);
            }

            if (userParams.UnitId != null && userParams.UnitId != 0)
            {
                units = units.Where(u => u.Id == userParams.UnitId);
            }

            if (userParams.ParentUnitId != null && userParams.ParentUnitId != 0)
            {
                units = units.Where(u => u.ParentUnitId == userParams.ParentUnitId);
            }

            if (!String.IsNullOrWhiteSpace(userParams.UnitName))
            {
                units = units.Where(u => (u.Name.Contains(userParams.UnitName) || u.UnitAbbreviation.Contains(userParams.UnitName)));
            }

            if (userParams.IncludeParentUnit)
            {
                units = units.Include(u => u.ParentUnit);
            }
            return(units);
        }
Exemple #2
0
        public async Task <IActionResult> GetUnitsDisplay([FromQuery] UnitUserParams userParams)
        {
            var units = _mapper.Map <IEnumerable <UnitForDisplayDto> >(
                await _unitService.GetUnits(userParams)
                );

            return(Ok(units));
        }
Exemple #3
0
        public async Task <IEnumerable <Unit> > GetUnits(
            UnitUserParams userParams,
            Expression <Func <Unit, bool> > filter = null)
        {
            var units = _context.Unit.AsQueryable();

            units = ProcessUnitFilter(units, userParams, filter);
            return(await units.ToListAsync());
        }
Exemple #4
0
        public async Task <IActionResult> GetUnitsPagination([FromQuery] UnitUserParams userParams)
        {
            var units = await _unitService.GetUnitsPagination(userParams);

            Response.AddPagination(units.CurrentPage,
                                   units.PageSize,
                                   units.TotalCount,
                                   units.TotalPages);

            return(Ok(units));
        }
Exemple #5
0
        private IQueryable <Unit> ProcessUnitFilter(IQueryable <Unit> units, UnitUserParams userParams, Expression <Func <Unit, bool> > filter)
        {
            if (filter != null)
            {
                units = units.Where(filter);
            }

            if (userParams.Name != null)
            {
                var nameArray = userParams.Name.Split();
                units = units.Where(u => nameArray.Any(n => u.Name.Contains(n)));
                //units = units.Where(u => u.Name.Contains(userParams.Name));
            }

            return(units);
        }
Exemple #6
0
        public async Task <PagedList <Unit> > GetUnitPagination(
            UnitUserParams userParams,
            Expression <Func <Unit, object> >[] includeProperties = null,
            Expression <Func <Unit, bool> > filter = null)
        {
            var units = _context.Units.AsQueryable();

            if (includeProperties != null)
            {
                units = ProcessUnitProperties(units, includeProperties);
            }

            units = ProcessUnitFilter(units, userParams, filter);

            return(await PagedList <Unit> .CreateAsync(units, userParams.PageNumber, userParams.PageSize));
        }
Exemple #7
0
        public async Task <IEnumerable <Unit> > GetUnits(
            UnitUserParams userParams,
            Expression <Func <Unit, object> >[] includeProperties = null,
            Expression <Func <Unit, bool> > filter = null
            )
        {
            var units = _context.Units.AsQueryable();

            if (includeProperties != null)
            {
                units = ProcessUnitProperties(units, includeProperties);
            }

            units = ProcessUnitFilter(units, userParams, filter);
            return(await units.ToListAsync());
        }
Exemple #8
0
        public async Task <IActionResult> GetUnits([FromQuery] UnitUserParams userParams)
        {
            var units = await _unitService.GetUnits(userParams);

            return(Ok(units));
        }
Exemple #9
0
 public async Task <IEnumerable <Unit> > GetUnits(UnitUserParams userParams)
 {
     return(await _unitRepo.GetUnits(userParams));
 }
Exemple #10
0
        public async Task <PagedList <Unit> > GetUnitsPagination(UnitUserParams userParams)
        {
            var units = await _unitRepo.GetUnitPagination(userParams);

            return(units);
        }
 public async Task <IActionResult> GetUnit([FromQuery] UnitUserParams unitParams)
 {
     return(Ok(await _appDataService.GetUnits(unitParams)));
 }