Esempio n. 1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("Start finding scooters");
            try
            {
                var          requestBody   = await new StreamReader(req.Body).ReadToEndAsync();
                TripLocation riderLocation = JsonConvert.DeserializeObject <TripLocation>(requestBody);

                // find all scooters around the rider location. Get data from cosmos db scooter collection
                var scooters = await _scooterService.FindScootersInRange(riderLocation.Longitude, riderLocation.Latitude, riderLocation.Distance);

                if (scooters.Any())
                {
                    return((ActionResult) new OkObjectResult(scooters));
                }

                return(new NoContentResult());
            }
            catch (Exception e)
            {
                log.LogError(e.Message);
                return(new BadRequestObjectResult("An error occured!"));
            }
        }
        public async Task <List <TripLocation> > RetrieveRouteItems(TripLocation source, TripLocation destination)
        {
            //TODO: Add Bing API here

            var routeLocations = new List <TripLocation>();
            var points         = _rnd.Next(10);

            for (var i = 0; i < points; i++)
            {
                routeLocations.Add(source);
            }

            routeLocations.Add(destination);
            return(routeLocations);
        }
Esempio n. 3
0
        public static TripRouteModel CastTripRouteToModel(vwTripRoute vwTripRoute, TripLocation lastPoint, int userId)
        {
            var tr = new TripRouteModel();

            tr.UserName   = vwTripRoute.Name;
            tr.UserFamily = vwTripRoute.Family;
            tr.UserMobile = vwTripRoute.UserName;
            tr.PayPrice   = vwTripRoute.RRPricingMinMax != null
                    ? decimal.Parse(vwTripRoute.RRPricingMinMax.ToString())
                    : 0;

            tr.IsDriver    = vwTripRoute.IsDrive;
            tr.IsMe        = vwTripRoute.RouteRequestUserId == userId;
            tr.UserImageId = vwTripRoute.UserImageId;
            tr.Lat         = lastPoint.TlLat.ToString();
            tr.Lng         = lastPoint.TlLng.ToString();
            return(tr);
        }
Esempio n. 4
0
 public async Task AddLocation(string tripId, TripLocation location)
 {
     location.Created = DateTime.Now.GetLocalTimeTotalSeconds();
     await Client.Child(Path).Child(tripId).Child(nameof(Trip.Locations)).PostAsync(location);
 }