public async Task SearchCostCenter_Call_PagedList_in_repository() { //Arrange var bus = A.Fake <IBus>(); var mapper = A.Fake <IMapper>(); var repo = A.Fake <IQueryDataAccess <CostCenterDTO> >(); var appService = new CostCenterApplicationService(bus, repo, mapper); var page = 1; var pageSize = 10; var request = new CostCenterSearchRequest() { Name = "xxxxx", Page = page, PageSize = pageSize }; A.CallTo(() => repo.ListPagedAsync(null, 0, 0, null, null)).WithAnyArguments().Returns(Task.FromResult(new Query.Common.PagedList <CostCenterDTO>())); //Act var resp = await appService.SearchCostCenterByNameAsync(request); //Assert Assert.NotNull(resp); A.CallTo(() => repo.ListPagedAsync(null, 0, 0, null, null)).WithAnyArguments().MustHaveHappened(Repeated.NoMoreThan.Once); }
public async Task <ResponseDTO <PagedList <CostCenterDTO> > > Search(CostCenterSearchRequest search) { var resp = await _costCenterApplicationService.SearchCostCenterByNameAsync(search); return(resp); }
public async Task <ResponseDTO <PagedList <CostCenterDTO> > > SearchCostCenterByNameAsync(CostCenterSearchRequest search) { List <OrderExpression <CostCenterDTO> > orderExpressionList = new List <OrderExpression <CostCenterDTO> >(); orderExpressionList.Add(new OrderExpression <CostCenterDTO>(OrderType.Desc, p => p.CostCenterId)); Expression <Func <CostCenterDTO, bool> > queryFilter = c => c.RowStatus; if (!string.IsNullOrEmpty(search.Name)) { queryFilter = queryFilter.And(p => p.Name.Contains(search.Name)); } if (!string.IsNullOrEmpty(search.Code)) { queryFilter = queryFilter.And(p => p.Code.Contains(search.Code)); } var costCenter = await _costCenterDataAccess.ListPagedAsync(queryFilter, search.Page, search.PageSize, orderExpressionList.ToArray()); var pagedResult = new PagedList <CostCenterDTO>() { Items = costCenter.Items, PageSize = costCenter.PageSize, Page = costCenter.Page, Total = costCenter.Total }; return(ResponseBuilder.Correct(pagedResult)); }