Esempio n. 1
0
        public JsonResult GetEnterprisesCloseToMyLocation(string latitude, string longitude)
        {
            var enterprises = Db.Enterprises.GetNearbyEnterprises(latitude, longitude);

            var searchViewModel = new MainSearchViewModel
            {
                Enterprises = new List <LightEnterprise>()
            };

            foreach (var enterpriseViewModel in enterprises.Select(enterprise => new LightEnterprise
            {
                Key = EnterpriseHelper.GetKey(enterprise.Id),
                Name = enterprise.Name,
                LocationInfo = EnterpriseHelper.FormatDisplayStreet(enterprise),
                DistanceFromMyLocation = string.Empty,
                Categories = EnterpriseHelper.GetDisplayLabelsCategories(enterprise.Categories),
                Coordinates = enterprise.Coordinates,
            }))
            {
                searchViewModel.Enterprises.Add(enterpriseViewModel);
            }

            var myCoord = new GeoCoordinate(double.Parse(latitude, CultureInfo.InvariantCulture), double.Parse(longitude, CultureInfo.InvariantCulture));

            foreach (var enterprise in searchViewModel.Enterprises)
            {
                var enterpriseCoord = new GeoCoordinate(enterprise.Coordinates.Lat, enterprise.Coordinates.Lng);

                var distance = myCoord.GetDistanceTo(enterpriseCoord);

                enterprise.DistanceFromMyLocation = string.Format("{0}km", Math.Round((distance / 1000), 1));
            }
            return(Json(searchViewModel));
        }
Esempio n. 2
0
        public JsonResult MainSearch(string searchTerm)
        {
            if (string.IsNullOrEmpty(searchTerm))
            {
                return(Json(null));
            }

            var enterprises = Db.Enterprises.MainSearch(searchTerm);

            var searchViewModel = new MainSearchViewModel
            {
                SearchQuery = searchTerm,
                Enterprises = new List <LightEnterprise>(),
                Locations   = new List <string> {
                    "Tumba", "Tullinge"
                },
                Categories = new List <string>()
            };

            var categories = GeneralHelper.GetCategories().Where(c => c.Text.ToLower().StartsWith(searchTerm.ToLower()));

            if (categories.Any())
            {
                searchViewModel.Categories = categories.Select(c => c.Text).ToList();
            }

            foreach (var enterpriseViewModel in enterprises.Select(enterprise => new LightEnterprise
            {
                Key = EnterpriseHelper.GetKey(enterprise.Id),
                Name = enterprise.Name,
                LocationInfo = EnterpriseHelper.FormatDisplayStreet(enterprise),
                DistanceFromMyLocation = string.Empty,
                Categories = EnterpriseHelper.GetDisplayLabelsCategories(enterprise.Categories)
            }))
            {
                searchViewModel.Enterprises.Add(enterpriseViewModel);
            }
            return(Json(searchViewModel));
        }