public async Task <ServiceResponse <Airline> > AddDestinationToAirline(AddDestinationAirlineDto destination) { ServiceResponse <Airline> serviceResponse = new ServiceResponse <Airline>(); //moram dodati proveru da li je ova destinacija vec sadrzana u aviokompaniji try { Airline airlineDb = await _context.Airlines.Include(a => a.AirlineDestinations).ThenInclude(ad => ad.Destination) .FirstOrDefaultAsync(a => a.Id == destination.AirlineId); foreach (AirlineDestination ads in airlineDb.AirlineDestinations) { if (ads.DestinationId == destination.DestinationId) { serviceResponse.Message = "Destination already defined in this airline."; serviceResponse.Success = false; return(serviceResponse); } } AirlineDestination ad = new AirlineDestination { AirlineId = destination.AirlineId, DestinationId = destination.DestinationId }; await _context.AirlineDestinations.AddAsync(ad); await _context.SaveChangesAsync(); /* Destination dbDestination = await _context.Destinations.FirstOrDefaultAsync(d => d.City == destinationAir.Destination.City && d.State == destinationAir.Destination.State); * Airline dbAirline = await _context.Airlines.FirstOrDefaultAsync(a => a.Id == destinationAir.Airline.Id); * * if (dbDestination == null) //destinacija ne postoji, dodaj u listu destinacija * { * await _context.Destinations.AddAsync(destinationAir.Destination); * dbAirline.AirlineDestinations.Add(ad); * await _context.SaveChangesAsync(); * } //destinacija vec postoji * else * { * dbAirline.AirlineDestinations.Add(ad); * await _context.SaveChangesAsync(); * }*/ //serviceResponse.Data = } catch (Exception ex) { serviceResponse.Message = ex.Message; serviceResponse.Success = false; } return(serviceResponse); }
public async Task <IActionResult> AddDestination(AddDestinationAirlineDto ad) { return(Ok(await _airlineService.AddDestinationToAirline(ad))); }