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