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.Application.Common.Models;
|
||||||
|
using cuqmbr.TravelGuide.Domain.Enums;
|
||||||
using MediatR;
|
using MediatR;
|
||||||
|
|
||||||
namespace cuqmbr.TravelGuide.Application.Addresses.Queries.GetAddressesPage;
|
namespace cuqmbr.TravelGuide.Application.Addresses.Queries.GetAddressesPage;
|
||||||
@ -18,4 +19,14 @@ public record GetAddressesPageQuery : IRequest<PaginatedList<AddressDto>>
|
|||||||
public Guid? RegionGuid { get; set; }
|
public Guid? RegionGuid { get; set; }
|
||||||
|
|
||||||
public Guid? CityGuid { 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.Name.ToLower().Contains(request.Search.ToLower()) ||
|
||||||
e.City.Region.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())) &&
|
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
|
(request.CityGuid != null
|
||||||
? e.City.Guid == request.CityGuid
|
? e.City.Guid == request.CityGuid
|
||||||
: true) &&
|
: true) &&
|
||||||
|
@ -7,4 +7,14 @@ public sealed class GetAddressesPageFilterViewModel
|
|||||||
public Guid? RegionUuid { get; set; }
|
public Guid? RegionUuid { get; set; }
|
||||||
|
|
||||||
public Guid? CityUuid { 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,
|
PageSize = pageQuery.PageSize,
|
||||||
Search = searchQuery.Search,
|
Search = searchQuery.Search,
|
||||||
Sort = sortQuery.Sort,
|
Sort = sortQuery.Sort,
|
||||||
|
LongitudeGreaterOrEqualThan =
|
||||||
|
filterQuery.LongitudeGreaterOrEqualThan,
|
||||||
|
LongitudeLessOrEqualThan =
|
||||||
|
filterQuery.LongitudeLessOrEqualThan,
|
||||||
|
LatitudeGreaterOrEqualThan =
|
||||||
|
filterQuery.LatitudeGreaterOrEqualThan,
|
||||||
|
LatitudeLessOrEqualThan =
|
||||||
|
filterQuery.LatitudeLessOrEqualThan,
|
||||||
|
VehicleType = VehicleType.FromName(filterQuery.VehicleType),
|
||||||
CountryGuid = filterQuery.CountryUuid,
|
CountryGuid = filterQuery.CountryUuid,
|
||||||
RegionGuid = filterQuery.RegionUuid,
|
RegionGuid = filterQuery.RegionUuid,
|
||||||
CityGuid = filterQuery.CityUuid
|
CityGuid = filterQuery.CityUuid
|
||||||
|
Loading…
Reference in New Issue
Block a user