示例#1
0
        public async Task <IHttpActionResult> GetLocation()
        {
            var user = GetUserInformationFromToken();

            if (user == null || string.IsNullOrWhiteSpace(user.UserId))
            {
                return(Ok(new ResponseModel <string>(ResponseStatus.BadRequest, null, "Invalid user.")));
            }
            var locations = await _userLocationRepository.GetUserLocation(user.UserId);

            return(Ok(new ResponseModel <List <UserLocation> >(ResponseStatus.Ok, locations, "")));
        }
示例#2
0
        public async Task <IEnumerable <Distance> > GetShortestCoffeeShopDistances()
        {
            var userLocation = await _userLocationRepository.GetUserLocation();

            var coffeeShopLocations = await _coffeeShopLocationRepository.GetCoffeeShopLocations();

            var allDistances = new List <Distance>();

            foreach (var coffeeShopLocation in coffeeShopLocations)
            {
                allDistances.Add(await _distanceCalculator.CalculateDistanceToDestination(userLocation, coffeeShopLocation));
            }

            return(await _distanceSelector.SelectDistances(allDistances));
        }