Exemple #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);
        }
Exemple #2
0
        public async Task AddAsync(Guid userId, string name, double startLatitude,
                                   double startLongitude, double endLatitude, double endLongitude)
        {
            var driver = await _driverRepository.GetDriverOrFailAsync(userId);

            var startNodeName = await _routeManager.GetAddresAsync(startLatitude, startLongitude);

            var endNodeName = await _routeManager.GetAddresAsync(endLatitude, endLongitude);

            var startNode = Node.Create(startNodeName, startLatitude, startLongitude);
            var endNode   = Node.Create(endNodeName, endLatitude, endLongitude);
            var distance  = _routeManager.CalculateDistance(startLongitude, startLongitude, endLatitude, endLongitude);

            driver.AddRoute(name, startNode, endNode, distance);
            await _driverRepository.UpdateAsync(driver);
        }
Exemple #3
0
        //add new routes
        public async Task Add(Guid userid, string name, double startLatitiude, double endLatitiude, double startLongitiude, double endLongitiude)
        {
            var driver = await _driverRepository.Get(userid);

            if (driver == null)
            {
                throw new Exception("Driver with user ID: " + userid + " not exist");
            }

            var StartAddress = await _manager.GetAddres(startLatitiude, startLongitiude);

            var EndAddress = await _manager.GetAddres(endLatitiude, endLongitiude);

            var start = Node.Create(StartAddress, startLatitiude, startLongitiude);

            var end = Node.Create(EndAddress, endLatitiude, endLongitiude);


            var distance = _manager.CalculateDistance(startLatitiude, startLongitiude, endLatitiude, endLongitiude);

            driver.AddRoute(name, start, end, distance);
            await _driverRepository.Udpate(driver);
        }