Exemplo n.º 1
0
        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\" />"));
 }
Exemplo n.º 4
0
 public GeoLocationModel(GeoLocationDto dto)
 {
     Latitude  = dto.Lat;
     Longitude = dto.Lng;
 }