public class DistanceResolver
{
private readonly IDistanceService _distanceService;
public DistanceResolver(IDistanceService distanceService)
{
_distanceService = distanceService;
}
public double Resolve(Ad ad, User user)
{
if (user is null)
{
throw new ArgumentException($"No valid user passed to");
}
if (user.Municipality is null || source.Municipality is null)
{
return -1d;
}
return _distanceService.GetDistanceInKm(
ad.Municipality.Location!.Y,
ad.Municipality.Location!.X,
user.Municipality.Location!.Y,
user.Municipality.Location!.X
);
}
}
public class DistanceResolver
{
private readonly IDistanceService _distanceService;
public DistanceResolver(IDistanceService distanceService)
{
_distanceService = distanceService;
}
public double Resolve(Ad ad, User user)
{
if (user is null)
{
throw new ArgumentException($"No valid user passed to");
}
if (user.Municipality is null || source.Municipality is null)
{
return -1d;
}
return _distanceService.GetDistanceInKm(
ad.Municipality.Location!.Y,
ad.Municipality.Location!.X,
user.Municipality.Location!.Y,
user.Municipality.Location!.X
);
}
}