public async Task EditAsyncUpdatesExistingRoute() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); var route = new Route { StartPoint = "Видин", EndPoint = "Добрич", Distance = 189, }; await repository.AddAsync(route); await repository.SaveChangesAsync(); var routesService = new RoutesService(repository); route.StartPoint = "Видин"; route.EndPoint = "Добрич"; route.Distance = 200; await routesService.EditAsync(route); var updatedRoute = repository.AllAsNoTracking().FirstOrDefault(r => r.Id == route.Id); Assert.Equal(route.StartPoint, updatedRoute.StartPoint); Assert.Equal(route.EndPoint, updatedRoute.EndPoint); Assert.Equal(route.Distance, updatedRoute.Distance); }
public void GetByIdReturnsRoute() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Пловдив", Distance = 225 }); repository.AddAsync(new Route { StartPoint = "Варна", EndPoint = "Хасково", Distance = 341 }); repository.SaveChangesAsync(); var routesService = new RoutesService(repository); var routeFromDb = repository.AllAsNoTracking().FirstOrDefault(r => r.StartPoint == "Варна" && r.EndPoint == "Хасково"); var route = routesService.GetById(routeFromDb.Id); Assert.Equal(routeFromDb.Id, route.Id); Assert.Equal(routeFromDb.StartPoint, route.StartPoint); Assert.Equal(routeFromDb.EndPoint, route.EndPoint); Assert.Equal(routeFromDb.Distance, route.Distance); }
public void GetAllReturnsAllRoutesAsIQueryable() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Пловдив", Distance = 225 }); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Хасково", Distance = 267 }); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Варна", Distance = 441 }); repository.SaveChangesAsync(); var routesService = new RoutesService(repository); AutoMapperConfig.RegisterMappings(typeof(RouteViewModel).Assembly); var routes = routesService.GetAll <RouteViewModel>(); Assert.Equal(3, routes.Count()); }
protected TrainingBase(Route route, Action uiUpdate, Func <Task <Tuple <double, double, double?> > > currentLocationDelegate) { Route = route; UiUpdate = uiUpdate; GetLocation = currentLocationDelegate; Points = new List <Point>(); CurrentTry = new RankingRecord(); RoutesService = new RoutesService(); }
public override void Initialize() { var deviceProvider = new DeviceProvider(); Mvx.RegisterSingleton <IDeviceProvider>(deviceProvider); var notificationsProvider = new NotificationsProvider(); Mvx.RegisterSingleton <INotificationsProvider>(notificationsProvider); Mvx.RegisterSingleton <IUserDialogs>(UserDialogs.Instance); //db string externalDirPath = deviceProvider.DataPath(); string dbPath = PortablePath.Combine(externalDirPath, FilesNames.databaseFile); var dbConnectionFactory = new DbConnectionFactory(dbPath); Mvx.RegisterSingleton <IDbConnectionFactory>(dbConnectionFactory); var storageProvider = new StorageProvider(Mvx.Resolve <IDeviceProvider>(), Mvx.Resolve <IDbConnectionFactory>()); Mvx.RegisterSingleton <IStorageProvider>(storageProvider); var sessionProvider = new SessionProvider(Mvx.Resolve <IStorageProvider>()); Mvx.RegisterSingleton <ISessionProvider>(sessionProvider); //api interfaces var carrierOrdersApi = RestService.For <ICarrierOrdersApi>(sessionProvider.HttpClient); Mvx.RegisterSingleton <ICarrierOrdersApi>(carrierOrdersApi); var routesApi = RestService.For <IRoutesApi>(sessionProvider.HttpClient); Mvx.RegisterSingleton <IRoutesApi>(routesApi); var salepointOrdersApi = RestService.For <ISalepointOrdersApi>(sessionProvider.HttpClient); Mvx.RegisterSingleton <ISalepointOrdersApi>(salepointOrdersApi); //services var carrierOrdersService = new CarrierOrdersService(Mvx.Resolve <ICarrierOrdersApi>(), Mvx.Resolve <INotificationsProvider>()); Mvx.RegisterSingleton <ICarrierOrdersService>(carrierOrdersService); var salepointOrdersService = new SalepointOrdersService(Mvx.Resolve <ISalepointOrdersApi>(), Mvx.Resolve <IStorageProvider>(), Mvx.Resolve <INotificationsProvider>()); Mvx.RegisterSingleton <ISalepointOrdersService>(salepointOrdersService); var routesService = new RoutesService(Mvx.Resolve <IRoutesApi>(), Mvx.Resolve <INotificationsProvider>(), Mvx.Resolve <ISessionProvider>()); Mvx.RegisterSingleton <IRoutesService>(routesService); RegisterNavigationServiceAppStart <SignInViewModel>(); }
public override void Stop() { SaveCheckpointTime(); var location = GetLocation().GetAwaiter().GetResult(); Route.Checkpoints.Add(new Point(location.Item1, location.Item2, location.Item3, NextCheckpointIndex)); base.Stop(); RoutesService.CalculateRouteDistance(Route); }
protected override async void ProcessUserLocation() { var location = await GetLocation(); var currentLocation = (new Point(location.Item1, location.Item2, Seconds)); var distance = Point.HaversineKilometersDistance(currentLocation, Route.Checkpoints[NextCheckpointIndex]); if (distance < _distanceFromCheckpointToleranceInKilometers) { NextCheckpointIndex++; SaveCheckpointTime(); if (NextCheckpointIndex == Route.Checkpoints.Count) { Stop(); RoutesService.ProcessCurrentTry(Route, CurrentTry); _stopTrainingUi.Invoke(); _showProgressBar.Invoke(); var isSuccessful = await _routesWebRepository.CreateRankingRecordAsync(CurrentTry, Route.Id); _hideProgressBar.Invoke(); _showIsTryUpdateSuccessful.Invoke(isSuccessful); } else { UpdateRankingToShowPositionsForCheckpoint(NextCheckpointIndex - 1); var currentPosition = GetCurrentPositionInRanking(); if (currentPosition == _rankingPositionOnPreviousCheckpoint || _rankingPositionOnPreviousCheckpoint == 0) { _playCurrentPosition.Invoke(currentPosition); } else { if (currentPosition < _rankingPositionOnPreviousCheckpoint) { _playPositionsEarned(_rankingPositionOnPreviousCheckpoint - currentPosition); } else { _playPositionsLost(currentPosition - _rankingPositionOnPreviousCheckpoint); } } _rankingPositionOnPreviousCheckpoint = currentPosition; _checkpointReached.Invoke(); } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.route_details_filling_view); _routesService = new RoutesService(); _route = Intent.GetExtra <Route>("route"); FindViews(); BindData(); LinkEventHandlers(); }
public async Task CreateAsyncAddRouteToDbIfDoesNotExists() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); var routesService = new RoutesService(repository); await routesService.CreateAsync("Видин", "Добрич", 189); var routeCount = repository.AllAsNoTracking().ToList().Count(); Assert.Equal(1, routeCount); }
public void IsExistsReturnsFalseWhenRouteDoesNotExist() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Пловдив", Distance = 225 }); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Хасково", Distance = 267 }); repository.SaveChangesAsync(); var routesService = new RoutesService(repository); var exists = routesService.IsExists("Стара Загора", "София"); Assert.False(exists); }
public void IsExistsReturnsTrueWhenRouteExists() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Пловдив", Distance = 225 }); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Хасково", Distance = 267 }); repository.SaveChangesAsync(); var routesService = new RoutesService(repository); var route = repository.AllAsNoTracking().FirstOrDefault(r => r.StartPoint == "София" && r.EndPoint == "Пловдив"); var exists = routesService.IsExists(route.StartPoint, route.EndPoint); Assert.True(exists); }
public async Task GetByIdAsyncReturnsRoute() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); await repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Пловдив", Distance = 225 }); await repository.SaveChangesAsync(); var routesService = new RoutesService(repository); var route = repository.AllAsNoTracking().FirstOrDefault(); AutoMapperConfig.RegisterMappings(typeof(RouteViewModel).Assembly); var currentRoute = await routesService.GetByIdAsync <RouteViewModel>(route.Id); Assert.Equal(route.StartPoint, currentRoute.StartPoint); Assert.Equal(route.EndPoint, currentRoute.EndPoint); Assert.Equal(route.Distance, currentRoute.Distance); }
public void GetAllReturnsAllRoutesAsCollectionOfSelectListItem() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Route>(new ApplicationDbContext(options.Options)); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Пловдив", Distance = 225 }); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Хасково", Distance = 267 }); repository.AddAsync(new Route { StartPoint = "София", EndPoint = "Варна", Distance = 441 }); repository.SaveChangesAsync(); var routesService = new RoutesService(repository); var routes = routesService.GetAll(); Assert.Equal(3, routes.Count()); }
public RoutesAdapter(Context context) { _context = context; _routesService = new RoutesService(); }
public RoutesController(RoutesService routesService) { _routesService = routesService; }
public MainActivity() { _routesService = new RoutesService(); }
public RoutesController(RoutesService routesService) { _routesService = routesService ?? new RoutesService(); }