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