Beispiel #1
0
        public IResponseDTO SearchVats(VatFilterDto filterDto)
        {
            try
            {
                var query = _appDbContext.VATs.Where(x => !x.IsDeleted);

                if (filterDto != null)
                {
                    if (filterDto.VatPercentage != null)
                    {
                        query = query.Where(x => x.VatPercentage == filterDto.VatPercentage);
                    }
                }

                //Check Sort Property
                if (!string.IsNullOrEmpty(filterDto?.SortProperty))
                {
                    //query = query.OrderBy(
                    //    string.Format("{0} {1}", filterDto.SortProperty, filterDto.IsAscending ? "ASC" : "DESC"));
                }
                else
                {
                    query = query.OrderByDescending(x => x.Id);
                }

                // Pagination
                var total = query.Count();
                if (filterDto.PageIndex.HasValue && filterDto.PageSize.HasValue)
                {
                    query = query.Skip((filterDto.PageIndex.Value - 1) * filterDto.PageSize.Value).Take(filterDto.PageSize.Value);
                }

                _response.IsPassed = true;
                _response.Data     = new
                {
                    List  = query.ToList(),
                    Total = total,
                };
            }
            catch (Exception ex)
            {
                _response.Data     = null;
                _response.IsPassed = false;
                _response.Message  = "Error " + ex.Message;
            }

            return(_response);
        }
Beispiel #2
0
 public IResponseDTO SearchVats([FromQuery] VatFilterDto filterDto)
 {
     _response = _vatService.SearchVats(filterDto);
     return(_response);
 }