Beispiel #1
0
        private static void AddBusStopsToBus(TravelActiveContext context, Bus bus, Dictionary <string, BusStop> busStops, List <string> busStopsStrings)
        {
            for (int i = 0; i < busStopsStrings.Count; i++)
            {
                var         s           = busStopsStrings[i];
                StopOrdered stopOrdered = new StopOrdered();
                stopOrdered.BusId     = bus.Id;
                stopOrdered.BusStopId = busStops[s].Id;
                context.StopsOrdered.Add(stopOrdered);

                context.SaveChanges();
            }
            for (int i = 0; i < busStopsStrings.Count - 1; i++)
            {
                var s = busStopsStrings[i];
                for (int j = i + 1; j < busStopsStrings.Count; j++)
                {
                    var ds = busStopsStrings[j];
                    StopAccessibility stopAccessibility = new StopAccessibility();
                    stopAccessibility.BusId         = bus.Id;
                    stopAccessibility.InitialStopId = busStops[s].Id;
                    stopAccessibility.DestStopId    = busStops[ds].Id;
                    context.StopsAccessibility.Add(stopAccessibility);
                }
            }
            context.SaveChanges();
        }
Beispiel #2
0
        public async Task <int> CreateBus(BusBindingModel busBindingModel)
        {
            var bus = new Bus()
            {
                BusName = busBindingModel.BusName
            };

            bus = Context.Busses.Add(bus).Entity;
            int result = await Context.SaveChangesAsync();

            foreach (var busStop in busBindingModel.BusStops)
            {
                StopOrdered stopOrdered = new StopOrdered()
                {
                    BusId     = bus.Id,
                    BusStopId = busStop.StopId,
                };
                stopOrdered.Delay = DelaysUtlility.ParseDelay(busStop.Delay, "00:00:00");
                Context.StopsOrdered.Add(stopOrdered);
            }
            for (int i = 0; i < busBindingModel.BusStops.Length - 1; i++)
            {
                var c = busBindingModel.BusStops[i];
                for (int j = i + 1; j < busBindingModel.BusStops.Length; j++)
                {
                    var c1 = busBindingModel.BusStops[j];
                    StopAccessibility stopAccessibility = new StopAccessibility()
                    {
                        BusId         = bus.Id,
                        InitialStopId = c.StopId,
                        DestStopId    = c1.StopId
                    };
                    Context.StopsAccessibility.Add(stopAccessibility);
                }
            }
            DepartureTime departureTime = new DepartureTime();

            foreach (var time in busBindingModel.DepartureTimes)
            {
                departureTime.Departuretime = DelaysUtlility.ParseDelay(time, "00:00");
                departureTime.BusId         = bus.Id;
                Context.DepartureTimes.Add(departureTime);
            }
            await Context.SaveChangesAsync();

            return(bus.Id);
        }