public async Task <IActionResult> Bus([FromBody] BusBindingModel busBindingModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var busId = await busService.CreateBus(busBindingModel); return(Ok()); }
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); }