Example #1
0
        public async Task <ResponseDTO <PagedList <MainTenantDTO> > > SearchTenantAsync(MainTenantSearchRequest search)
        {
            List <OrderExpression <MainTenantDTO> > orderExpressionList = new List <OrderExpression <MainTenantDTO> >();

            orderExpressionList.Add(new OrderExpression <MainTenantDTO>(OrderType.Asc, p => p.FullName));

            Expression <Func <MainTenantDTO, bool> > queryFilter = c => true;

            if (!string.IsNullOrEmpty(search.Code))
            {
                queryFilter = queryFilter.And(p => p.Code.Contains(search.Code));
            }

            if (!string.IsNullOrEmpty(search.FullName))
            {
                queryFilter = queryFilter.And(p => p.FullName.Contains(search.FullName));
            }

            if (!string.IsNullOrEmpty(search.PhoneNumber))
            {
                queryFilter = queryFilter.And(p => p.PhoneN01.Contains(search.PhoneNumber));
            }

            if (search.CountryId.HasValue)
            {
                queryFilter = queryFilter.And(p => p.CountryId == search.CountryId.Value);
            }

            if (search.TypeId.HasValue)
            {
                queryFilter = queryFilter.And(p => p.TypeId == search.TypeId.Value);
            }

            if (search.RowStatus.HasValue)
            {
                queryFilter = queryFilter.And(p => p.RowStatus == search.RowStatus);
            }

            var mainTenant = await _mainTenantSearchDataAccess.ListPagedAsync(queryFilter, search.Page, search.PageSize, orderExpressionList.ToArray());

            var pagedResult = new PagedList <MainTenantDTO>()
            {
                Items    = mainTenant.Items,
                PageSize = mainTenant.PageSize,
                Page     = mainTenant.Page,
                Total    = mainTenant.Total
            };

            return(ResponseBuilder.Correct(pagedResult));
        }
Example #2
0
        public async Task <ResponseDTO <PagedList <MainTenantDTO> > > Search([FromUri] MainTenantSearchRequest search)
        {
            var resp = await _tenantApplicationService.SearchTenantAsync(search);

            return(resp);
        }