public List <ClinicDto> GetAllInRadius([FromBody] GeoLocationDto geoLocation) { var res = new List <ClinicDto>(); var userLocation = new GeoCoordinate(geoLocation.Latitude, geoLocation.Longitude); using (var dbContext = new ApplicationDbContext()) { var clinics = dbContext.Clinics.ToList(); foreach (var clinic in clinics) { var location = new GeoCoordinate(clinic.Latitude, clinic.Longitude); var distanceToUser = location.GetDistanceTo(userLocation); if (distanceToUser <= geoLocation.RadiusInMeters) { res.Add(new ClinicDto { ClinicId = clinic.Id, Address = clinic.Address, Latitude = clinic.Latitude, Longitude = clinic.Longitude, DistanceToUser = distanceToUser, City = clinic.City.Name, Name = clinic.Name, Description = clinic.Description, Logo = clinic.Logo }); } } } return(res); }
public static HtmlString LocationSummary(this GeoLocationDto geoLocationDto) { if (!string.IsNullOrWhiteSpace(geoLocationDto.CityName) && !string.IsNullOrWhiteSpace(geoLocationDto.CountryName)) { return(new HtmlString($"{geoLocationDto.CityName}, {geoLocationDto.CountryName}")); } if (!string.IsNullOrWhiteSpace(geoLocationDto.CountryCode)) { return(new HtmlString($"{geoLocationDto.CountryCode}")); } if (!string.IsNullOrWhiteSpace(geoLocationDto.RegisteredCountry)) { return(new HtmlString($"{geoLocationDto.RegisteredCountry}")); } return(new HtmlString("Unknown")); }
public static HtmlString FlagImage(this GeoLocationDto geoLocationDto) { return(!string.IsNullOrWhiteSpace(geoLocationDto.CountryCode) ? new HtmlString($"<img src=\"/images/flags/{geoLocationDto.CountryCode.ToLower()}.png\" />") : new HtmlString("<img src=\"/images/flags/unknown.png\" />")); }
public GeoLocationModel(GeoLocationDto dto) { Latitude = dto.Lat; Longitude = dto.Lng; }