public async Task <BaseViewModel <PagingResult <PaymentMethodViewModel> > > GetAllPaymentMethods(BasePagingRequestViewModel request) { var pageSize = request.PageSize; var pageIndex = request.PageIndex; var result = new BaseViewModel <PagingResult <PaymentMethodViewModel> >(); var currentUserId = _repository.GetCurrentUserId(); var defaultFilter = $"_.UserId.Equals(new System.Guid(\"{currentUserId}\")) && {Constants.DEAFAULT_DELETE_STATUS_EXPRESSION}"; string filter = SearchHelper <PaymentMethod> .GenerateStringExpression(request.Filter, defaultFilter); Expression <Func <PaymentMethod, bool> > FilterExpression = await LinqHelper <PaymentMethod> .StringToExpression(filter); QueryArgs <PaymentMethod> queryArgs = new QueryArgs <PaymentMethod> { Offset = pageSize * (pageIndex - 1), Limit = pageSize, Filter = FilterExpression, Sort = request.SortBy, }; var data = _repository.Get(queryArgs.Filter, queryArgs.Sort, queryArgs.Offset, queryArgs.Limit).ToList(); //var sql = data.ToSql(); if (data == null || data.Count == 0) { result.Description = MessageHandler.CustomMessage(MessageConstants.NO_RECORD); result.Code = MessageConstants.NO_RECORD; } else { var pageSizeReturn = pageSize; if (data.Count < pageSize) { pageSizeReturn = data.Count; } result.Data = new PagingResult <PaymentMethodViewModel> { Results = _mapper.Map <IEnumerable <PaymentMethodViewModel> >(data), PageIndex = pageIndex, PageSize = pageSizeReturn, TotalRecords = _repository.Count(queryArgs.Filter) }; } return(result); }
public IndexViewModel Create(string orderBy, string direction, int skip, int take, string filter) { IPaymentMethodRepository paymentMethodRepository = this.RequestHandler.Storage.GetRepository <IPaymentMethodRepository>(); IStringLocalizer <IndexViewModelFactory> localizer = this.RequestHandler.GetService <IStringLocalizer <IndexViewModelFactory> >(); return(new IndexViewModel() { Grid = new GridViewModelFactory(this.RequestHandler).Create( orderBy, direction, skip, take, paymentMethodRepository.Count(filter), new[] { new GridColumnViewModelFactory(this.RequestHandler).Create(localizer["Code"], "Code"), new GridColumnViewModelFactory(this.RequestHandler).Create(localizer["Name"], "Name"), new GridColumnViewModelFactory(this.RequestHandler).Create(localizer["Position"], "Position"), new GridColumnViewModelFactory(this.RequestHandler).CreateEmpty() }, paymentMethodRepository.Range(orderBy, direction, skip, take, filter).ToList().Select(pm => new PaymentMethodViewModelFactory(this.RequestHandler).Create(pm)), "_PaymentMethod" ) }); }