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