Пример #1
0
        public async Task <DefaultDataResponse> GetByFilter(PartnerFilteredRequest request)
        {
            //var validator = new PartnerFilteredRequestValidator();
            var result = await partnerRepository.GetByFilter(request);

            return(SuccessResponse(result));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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
                });
            }
        }
Пример #4
0
        public async Task <IActionResult> GetByFilter([FromQuery] PartnerFilteredRequest request)
        {
            var result = await partnerService.GetByFilter(request);

            return(HttpHelper.Convert(result));
        }