Ejemplo n.º 1
0
        public async Task <IActionResult> Bus([FromBody] BusBindingModel busBindingModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var busId = await busService.CreateBus(busBindingModel);

            return(Ok());
        }
Ejemplo n.º 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);
        }