コード例 #1
0
        public async Task RecomputeRoutes()
        {
            var idx    = 0;
            var orders = await _order.GetAll();

            var takenCapacity = 0.0;

            foreach (var vehicle in await _vehicle.GetAll())
            {
                await _vehicleService.ResetRoutes(vehicle);

                while (takenCapacity < vehicle.Capacity && idx < orders.Count)
                {
                    var _ = await _route.Add(new Route { Order = orders[idx] });

                    var routeList = await _route.GetAll();

                    var route = routeList.Find(r => r.Order.Id == orders[idx].Id);
                    await _vehicleService.AppendRoute(vehicle, route);

                    takenCapacity += orders[idx].PackageWeight;
                    idx++;
                }

                takenCapacity = 0;
            }
        }
コード例 #2
0
        /// <summary>
        ///     Copy Constructor
        /// </summary>
        /// <param name="routeCopy"></param>
        public Route(Route routeCopy)
        {
            var rr = new RouteRepository();

            Name        = "Copy of " + routeCopy.Name;
            Description = routeCopy.Description;
            //routesTA.Insert(this.Name, this.Description, out tempID);

            var route = new Models.Inrix.Route();

            route.Route_Name        = Name;
            route.Route_Description = Description;

            rr.Add(route);


            var copiedRoute = rr.GetRouteByName(name);

            ID = Convert.ToInt32(copiedRoute.Route_ID);


            foreach (var segment in routeCopy.Items)
            {
                Items.Add(segment);
            }

            SaveMembers();
        }
コード例 #3
0
        public async Task <RouteUpdateTransactionResponse> Handle(RouteCreateTransactionRequest request, CancellationToken cancellationToken)
        {
            var Route = await RouteRepository.Add(
                Conversions.FromModelToDTO(request.Route), cancellationToken);

            RouteUpdateTransactionResponse response = new RouteUpdateTransactionResponse();

            response.Route = Conversions.FromDTOToModel(Route);
            return(response);
        }
コード例 #4
0
        public void Add_Route()
        {
            string routeName = "Test Route to Add";

            // Add to database
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                RouteRepository routeRepository = new RouteRepository(ctx);
                routeRepository.Add(new Route { Name = routeName, TimeTable = new TimeTable { Name = "TimeTable to add" } });
                routeRepository.SaveChanges();
            }

            // Check that it is there
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                List<Route> routes = ctx.Routes.Where(route => route.Name == routeName).ToList();
                Assert.AreEqual(1, routes.Count());
            }
        }
コード例 #5
0
        public void Delete_Route_By_Route()
        {
            string routeName = "Test Route to Delete";

            // Add to database
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                RouteRepository routeRepository = new RouteRepository(ctx);
                Route route = new Route { 
                    Name = routeName, 
                    TimeTable = new TimeTable { Name = "TimeTable" }
                };

                route.Schedules = new List<Schedule>() { new Schedule { 
                    Route = route, 
                    Pier = new Pier { Name = "Pier" },
                    Time = new TimeSpan(1, 0, 0)
                    }
                };

                routeRepository.Add(route);
                routeRepository.SaveChanges();
            }

            // Find and delete it
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                List<Route> routes = ctx.Routes.Where(route => route.Name == routeName).ToList();
                Assert.AreEqual(1, routes.Count());

                RouteRepository routeRepository = new RouteRepository(ctx);
                routeRepository.Delete(routes[0]);
                routeRepository.SaveChanges();
            }

            // Check that nothing is there
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                List<Route> routes = ctx.Routes.Where(route => route.Name == routeName).ToList();
                Assert.AreEqual(0, routes.Count());
            }
        }
コード例 #6
0
        public void CreateNewRoute(Route route, Procescell procescell)
        {
            using (ConfigurationToolContext context = new ConfigurationToolContext())
            {
                var repository = new RouteRepository(context);
                var parameterDefinitionRepository = new ParameterDefinitionRepository(context);

                //Gets required parameters for a new procescell
                IEnumerable <ParameterDefinition> requiredParameters;
                requiredParameters = parameterDefinitionRepository.GetRequiredParameters("rop_RoutePars", procescell.prc_ProcescellTypeId);

                //convert parDef to proccellPars and add them to the procescell
                foreach (ParameterDefinition paf in requiredParameters)
                {
                    RouteParameter rop = new RouteParameter(route, paf, procescell);
                    route.RouteParameters.Add(rop);
                }

                repository.Add(route);
                context.SaveChanges();
            }
        }
コード例 #7
0
        public void Update_Route()
        {
            string routeName = "Test Route to Update";
            string routeNameUpdated = "Test Route Updated";

            // Add to database
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                RouteRepository routeRepository = new RouteRepository(ctx);
                routeRepository.Add(new Route { Name = routeName, TimeTable = new TimeTable { Name = "TimeTable" } });
                routeRepository.SaveChanges();
            }

            // Find and update it
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                List<Route> routes = ctx.Routes.Where(route => route.Name == routeName).ToList();
                Assert.AreEqual(1, routes.Count());

                RouteRepository routeRepository = new RouteRepository(ctx);
                routes[0].Name = routeNameUpdated;
                routeRepository.Update(routes[0]);
                routeRepository.SaveChanges();
            }

            // Check that the new name is there
            using (ThamesClipperContext ctx = new ThamesClipperContext())
            {
                List<Route> routes = ctx.Routes.Where(route => route.Name == routeNameUpdated).ToList();
                Assert.AreEqual(1, routes.Count());
            }
        }