private static void MakeNewAdjustedRoute([NotNull] Simulator sim, [NotNull] TravelRouteSetEntry oldTravelRouteSetEntry, int adjustingDistances, [CanBeNull] string modRouteKey, [NotNull] TransportationDistanceModifier modifier, [NotNull] TravelRouteSet adjustedTravelrouteset) { var oldRoute = oldTravelRouteSetEntry.TravelRoute; TravelRoute newRoute = new TravelRoute(null, sim.ConnectionString, oldRoute.Name + " adjustment " + adjustingDistances, oldRoute.Description, oldRoute.SiteA, oldRoute.SiteB, Guid.NewGuid().ToStrGuid(), oldRoute.RouteKey); newRoute.SaveToDB(); sim.TravelRoutes.It.Add(newRoute); foreach (var step in oldRoute.Steps) { double distance = step.Distance; if (step.StepKey?.ToLower(CultureInfo.InvariantCulture) == modRouteKey) { distance = modifier.NewDistanceInMeters; } newRoute.AddStep(step.Name, step.TransportationDeviceCategory, distance, step.StepNumber, step.StepKey, false); } newRoute.SaveToDB(); //Logger.Info("Adjusted route " + newRoute.Name); adjustedTravelrouteset.AddRoute(newRoute); }
public void TravelRouteSetTest() { using (DatabaseSetup db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { db.ClearTable(TravelRouteSet.TableName); db.ClearTable(TravelRouteSetEntry.TableName); TravelRouteSet set = new TravelRouteSet("set1", null, db.ConnectionString, "desc", System.Guid.NewGuid().ToStrGuid()); set.SaveToDB(); Site a = new Site("a", null, db.ConnectionString, "desc", System.Guid.NewGuid().ToStrGuid()); a.SaveToDB(); Site b = new Site("b", null, db.ConnectionString, "desc", System.Guid.NewGuid().ToStrGuid()); b.SaveToDB(); TravelRoute route = new TravelRoute(null, db.ConnectionString, "routename", "routedesc", a, b, System.Guid.NewGuid().ToStrGuid(), null); route.SaveToDB(); set.AddRoute(route); //loading ObservableCollection <TravelRoute> routes = new ObservableCollection <TravelRoute> { route }; ObservableCollection <TravelRouteSet> sets = new ObservableCollection <TravelRouteSet>(); TravelRouteSet.LoadFromDatabase(sets, db.ConnectionString, false, routes); db.Cleanup(); (sets.Count).Should().Be(1); } }
public void TravelRouteTest() { using (DatabaseSetup db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { db.ClearTable(TravelRoute.TableName); db.ClearTable(TravelRouteStep.TableName); Location loc = new Location("loc1", null, db.ConnectionString, Guid.NewGuid().ToStrGuid()); loc.SaveToDB(); Site siteA = new Site("site1", null, db.ConnectionString, "desc", Guid.NewGuid().ToStrGuid()); siteA.SaveToDB(); Site siteB = new Site("site2", null, db.ConnectionString, "desc", Guid.NewGuid().ToStrGuid()); siteB.SaveToDB(); TransportationDeviceCategory td = new TransportationDeviceCategory("transportationdevicecategory", null, db.ConnectionString, "desc", true, Guid.NewGuid().ToStrGuid()); td.SaveToDB(); TravelRoute tr = new TravelRoute(null, db.ConnectionString, "route", "desc", siteA, siteB, Guid.NewGuid().ToStrGuid(), null); tr.SaveToDB(); tr.AddStep("name1", td, 100, 1, "key1"); tr.AddStep("name3", td, 100, 10, "key3"); tr.AddStep("name2", td, 100, 2, "key2"); //test the sorting of steps while adding based on step number ("name1").Should().Be(tr.Steps[0].Name); ("name2").Should().Be(tr.Steps[1].Name); ("name3").Should().Be(tr.Steps[2].Name); ("key1").Should().Be(tr.Steps[0].StepKey); ("key2").Should().Be(tr.Steps[1].StepKey); ("key3").Should().Be(tr.Steps[2].StepKey); foreach (TravelRouteStep step in tr.Steps) { Logger.Info(step.Name); } //loading ObservableCollection <Site> sites = new ObservableCollection <Site> { siteA, siteB }; ObservableCollection <TransportationDeviceCategory> transportationDeviceCategories = new ObservableCollection <TransportationDeviceCategory> { td }; ObservableCollection <TravelRoute> routes = new ObservableCollection <TravelRoute>(); TravelRoute.LoadFromDatabase(routes, db.ConnectionString, false, transportationDeviceCategories, sites); (routes.Count).Should().Be(1); tr = routes[0]; ("name1").Should().Be(tr.Steps[0].Name); ("name2").Should().Be(tr.Steps[1].Name); ("name3").Should().Be(tr.Steps[2].Name); ("key1").Should().Be(tr.Steps[0].StepKey); ("key2").Should().Be(tr.Steps[1].StepKey); ("key3").Should().Be(tr.Steps[2].StepKey); db.Cleanup(); } }