//public Task Delete(int id) //{ // var listCategory = new List<Entities.Categories>(); // var parent = DbSet.Where(x => x.ParentId == id).ToListAsync(); //} public async Task <PageResultData <Entities.Categories> > SearchAsync(CategoriesCriteria criteria) { var query = DbSet .Where(x => ( string.IsNullOrEmpty(criteria.Name) || x.Name.ToLower().Contains(criteria.Name.ToLower()) ) //&& //( // string.IsNullOrEmpty(criteria.DateCreate.ToString()) //) ) .AsNoTracking(); int totalRecord = await query.CountAsync(); criteria.SortColumn = string.IsNullOrEmpty(criteria.SortColumn) ? string.Empty : criteria.SortColumn; bool isAsc = criteria.SortDirection.ToLower().Equals("asc"); switch (criteria.SortColumn) { case "name": query = isAsc ? query.OrderBy(x => x.Name) : query.OrderByDescending(x => x.Name); break; default: query = isAsc ? query.OrderBy(x => x.DateCreate) : query.OrderByDescending(x => x.DateCreate); break; } var rerutnData = await query.Skip(criteria.CurrentPage *criteria.ItemPerPage).Take(criteria.ItemPerPage).ToListAsync(); return(new PageResultData <Entities.Categories>(totalRecord, rerutnData)); }
public async Task <PageResultData <CategoriesReponseModel> > SearchAsync(CategoriesCriteria criteria) { const string actionName = nameof(SearchAsync); Logger.LogDebug(LoggingMessage.ProcessingInService, actionName, seviceName, criteria); var response = await _categoryRepository.SearchAsync(criteria); Logger.LogDebug(LoggingMessage.ActionSuccessfully, actionName, criteria); return(_Mapper.Map <PageResultData <CategoriesReponseModel> >(response)); }
public async Task <ActionResult <PageResultData <CategoriesReponseModel> > > SearchAsync([FromBody] CategoriesCriteria criteria) { const string actionName = nameof(SearchAsync); Logger.LogDebug(LoggingMessage.ProcessingRequestWithModel, actionName, criteria); var response = await _categoriesAppService.SearchAsync(criteria); Logger.LogInfomation(LoggingMessage.RequestResults, actionName); return(Ok(response)); }