public async Task <DefaultDataResponse> GetByFilter(PartnerFilteredRequest request) { //var validator = new PartnerFilteredRequestValidator(); var result = await partnerRepository.GetByFilter(request); return(SuccessResponse(result)); }
public async Task <DefaultDataResponse> GetByFilter(PartnerFilteredRequest request) { //var validator = new PartnerFilteredRequestValidator(); var result = await partnerRepository.GetByFilter(request); foreach (var item in result.Items) { //item.Contacts.Add(); } return(SuccessResponse(result)); }
public async Task <PaginationResponse <PartnerFilteredView> > GetByFilter(PartnerFilteredRequest filter) { using (var cnx = _context.conexao()) { var _query = new StringBuilder($@"select * from Partner where 1=1"); var where = new StringBuilder(); if (!string.IsNullOrEmpty(filter.Name)) { where.Append($" AND name like '%{filter.Name}%'"); } if (!string.IsNullOrEmpty(filter.Document)) { where.Append($" AND document = '{filter.Document}'"); } if (!string.IsNullOrEmpty(filter.PartnerCode)) { where.Append($" AND partnerCode = '{filter.PartnerCode}'"); } if (filter.Status != PartnerStatusType.All) { where.Append($" AND status = {filter.Status.GetHashCode()}"); } _query.Append(where); if (filter.page > 0 && filter.pageSize > 0) { _query.Append($" Limit {filter.pageSize * (filter.page - 1)}, {filter.pageSize}"); } var result = await cnx.QueryAsync <PartnerFilteredView>(_query.ToString()); var totalRows = result.Count(); return(new PaginationResponse <PartnerFilteredView> { Items = result.ToArray(), _pageSize = filter.pageSize, _page = filter.page, _total = totalRows }); } }
public async Task <IActionResult> GetByFilter([FromQuery] PartnerFilteredRequest request) { var result = await partnerService.GetByFilter(request); return(HttpHelper.Convert(result)); }