[HttpPost] //POST localhost/Flights public async Task <IActionResult> AddFlight(AddFlightDto newFlight) { if (!ModelState.IsValid) { return(BadRequest()); } return(Ok(await _flightService.AddFlight(newFlight))); }
public async Task <ServiceResponse <List <Flight> > > AddFlight(AddFlightDto newFlight) //"return":"2020-06-24T02:28" ovako izgleda sa klijentske strane // 01-Jan-01 12:00:00 AM serverska { ServiceResponse <List <Flight> > serviceResponse = new ServiceResponse <List <Flight> >(); try { Airline airline = await _context.Airlines .Include(a => a.Flights) .FirstOrDefaultAsync(a => a.Id == newFlight.Airline.Id); Flight flight = _mapper.Map <Flight>(newFlight); var vreme = flight.LandingTime.Subtract(flight.TakeoffTime); flight.Duration = vreme.Hours + "h" + vreme.Minutes + "m"; List <Seat> seats = new List <Seat>(); for (int i = 1; i <= newFlight.SeatsLeft; i++) { seats.Add(new Seat() { Number = i, State = SeatState.FREE, Flight = flight }); } flight.Seats = seats; airline.Flights.Add(flight); _context.Airlines.Update(airline); await _context.SaveChangesAsync(); //var duration = newFlight.LandingTime.Subtract(newFlight.TakeoffTime); //await _context.Flights.AddAsync(flight); //await _context.SaveChangesAsync(); serviceResponse.Data = airline.Flights; } catch (Exception ex) { serviceResponse.Success = false; serviceResponse.Message = ex.Message; } return(serviceResponse); }