Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public async Task <IActionResult> AddDestination(AddDestinationAirlineDto ad)
 {
     return(Ok(await _airlineService.AddDestinationToAirline(ad)));
 }