public Task <IEnumerable <HeroEntity> > GetByFilter(HeroFilterApiModel model) { IQueryable <HeroEntity> entities = _repository.Table .Where(e => String.IsNullOrEmpty(model.Name) || e.UserName.StartsWith(model.Name)) .Where(e => !model.MinCreationTime.HasValue || e.Created > model.MinCreationTime.Value) .Where(e => !model.MaxCreationTime.HasValue || e.Created < model.MaxCreationTime.Value) .OrderBy(e => e.UserName) .GetRange(model); return(Task.FromResult <IEnumerable <HeroEntity> >(entities)); }
public async Task <IActionResult> GetAllAsync([FromQuery] HeroFilterApiModel filterModel) { try { var models = await _service.GetAllAsync(filterModel); return(Ok(models)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IEnumerable <HeroGetMinApiModel> > GetAllAsync(HeroFilterApiModel filterModel) { IEnumerable <HeroEntity> entities; if (filterModel?.OptionFilter == false) { entities = await _repository.GetAll(filterModel); } else { entities = await _repository.GetByFilter(filterModel); } return(_dataAdapter.Parse <HeroEntity, HeroGetMinApiModel>(entities)); }