Exemplo 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);
        }
Exemplo 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);
        }