add more filter options for GetAddressesPageQuery
This commit is contained in:
parent
bd87ab9133
commit
09f3a46edc
@ -1,4 +1,5 @@
|
||||
using cuqmbr.TravelGuide.Application.Common.Models;
|
||||
using cuqmbr.TravelGuide.Domain.Enums;
|
||||
using MediatR;
|
||||
|
||||
namespace cuqmbr.TravelGuide.Application.Addresses.Queries.GetAddressesPage;
|
||||
@ -18,4 +19,14 @@ public record GetAddressesPageQuery : IRequest<PaginatedList<AddressDto>>
|
||||
public Guid? RegionGuid { get; set; }
|
||||
|
||||
public Guid? CityGuid { get; set; }
|
||||
|
||||
public double? LongitudeGreaterOrEqualThan { get; set; }
|
||||
|
||||
public double? LongitudeLessOrEqualThan { get; set; }
|
||||
|
||||
public double? LatitudeGreaterOrEqualThan { get; set; }
|
||||
|
||||
public double? LatitudeLessOrEqualThan { get; set; }
|
||||
|
||||
public VehicleType? VehicleType { get; set; }
|
||||
}
|
||||
|
@ -30,6 +30,21 @@ public class GetAddressesPageQueryHandler :
|
||||
e.City.Name.ToLower().Contains(request.Search.ToLower()) ||
|
||||
e.City.Region.Name.ToLower().Contains(request.Search.ToLower()) ||
|
||||
e.City.Region.Country.Name.ToLower().Contains(request.Search.ToLower())) &&
|
||||
(request.LongitudeGreaterOrEqualThan != null
|
||||
? e.Longitude >= request.LongitudeGreaterOrEqualThan
|
||||
: true) &&
|
||||
(request.LongitudeLessOrEqualThan != null
|
||||
? e.Longitude <= request.LongitudeLessOrEqualThan
|
||||
: true) &&
|
||||
(request.LatitudeGreaterOrEqualThan != null
|
||||
? e.Latitude >= request.LatitudeGreaterOrEqualThan
|
||||
: true) &&
|
||||
(request.LatitudeLessOrEqualThan != null
|
||||
? e.Latitude <= request.LatitudeLessOrEqualThan
|
||||
: true) &&
|
||||
(request.VehicleType != null
|
||||
? e.VehicleType == request.VehicleType
|
||||
: true) &&
|
||||
(request.CityGuid != null
|
||||
? e.City.Guid == request.CityGuid
|
||||
: true) &&
|
||||
|
@ -7,4 +7,14 @@ public sealed class GetAddressesPageFilterViewModel
|
||||
public Guid? RegionUuid { get; set; }
|
||||
|
||||
public Guid? CityUuid { get; set; }
|
||||
|
||||
public double? LongitudeGreaterOrEqualThan { get; set; }
|
||||
|
||||
public double? LongitudeLessOrEqualThan { get; set; }
|
||||
|
||||
public double? LatitudeGreaterOrEqualThan { get; set; }
|
||||
|
||||
public double? LatitudeLessOrEqualThan { get; set; }
|
||||
|
||||
public string? VehicleType { get; set; }
|
||||
}
|
||||
|
@ -89,6 +89,15 @@ public class AddressesController : ControllerBase
|
||||
PageSize = pageQuery.PageSize,
|
||||
Search = searchQuery.Search,
|
||||
Sort = sortQuery.Sort,
|
||||
LongitudeGreaterOrEqualThan =
|
||||
filterQuery.LongitudeGreaterOrEqualThan,
|
||||
LongitudeLessOrEqualThan =
|
||||
filterQuery.LongitudeLessOrEqualThan,
|
||||
LatitudeGreaterOrEqualThan =
|
||||
filterQuery.LatitudeGreaterOrEqualThan,
|
||||
LatitudeLessOrEqualThan =
|
||||
filterQuery.LatitudeLessOrEqualThan,
|
||||
VehicleType = VehicleType.FromName(filterQuery.VehicleType),
|
||||
CountryGuid = filterQuery.CountryUuid,
|
||||
RegionGuid = filterQuery.RegionUuid,
|
||||
CityGuid = filterQuery.CityUuid
|
||||
|
Loading…
Reference in New Issue
Block a user