Beispiel #1
0
        public async Task AddAsync(Guid userId, string name, double startLat, double startLong, double endLat, double endLong)
        {
            var driver = await _driverRepository.GetOrFailAsync(userId);

            var startAddress = await _routeManager.GetAddressAsync(startLat, startLong);

            var endAddress = await _routeManager.GetAddressAsync(endLat, endLong);

            var startNode = Node.Create("Start address", startLat, startLong);
            var endNode   = Node.Create("End address", endLat, endLong);
            var distance  = _routeManager.CalculateDistance(startLat, startLong, endLat, endLong);

            driver.AddRoute(name, startNode, endNode, distance);
            await _driverRepository.UpdateAsync(driver);
        }