コード例 #1
0
        //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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }