Example #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);
        }
Example #2
0
        public IActionResult Destinacije(AirlineHomeViewModel model)
        {
            if (ModelState.IsValid)
            {
                Guid        IdDestination = Guid.NewGuid();
                Destination destination   = new Destination();
                destination.Id          = IdDestination;
                destination.Name        = model.Name;
                destination.Description = model.Description;
                _repoWrapper.Destination.Add(destination);

                Guid id = Guid.NewGuid();
                AirlineDestination airlineDestination = new AirlineDestination();
                airlineDestination.Id            = id;
                airlineDestination.DestinationId = IdDestination;
                airlineDestination.AirlineId     = model.Id;
                _repoWrapper.AirlineDestination.Add(airlineDestination);
                return(RedirectToAction("Profil", "Airline", new { id = model.Id }));
            }
            return(Ok());
        }
Example #3
0
        public async Task <IActionResult> Create(CreateViewModel viewModel)
        {
            var existingAD = _context.AirlineDestinations.Find(viewModel.AirlineName, viewModel.DestinationName);

            if (existingAD != null)
            {
                existingAD.Removed = false;

                if (ModelState.IsValid)
                {
                    _context.Update(existingAD);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction("Details", "Airline", new { id = viewModel.AirlineName }));
                }
            }

            if (ModelState.IsValid)
            {
                var ad = new AirlineDestination {
                    Destination = _context.Destinations.Find(viewModel.DestinationName),
                    Airline     = _context.Airlines.Find(viewModel.AirlineName)
                };
                _context.Add(ad);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Airline", new { id = viewModel.AirlineName }));
            }

            var availableDestinations = (
                from d in _context.Destinations
                where !_context.AirlineDestinations.Any(ad => ad.Removed == false && ad.AirlineName == viewModel.AirlineName && ad.DestinationName == d.DestinationName)
                select d
                );

            ViewData["DestinationName"] = new SelectList(availableDestinations, "DestinationName", "DestinationName");

            return(View(viewModel));
        }
Example #4
0
        public void Remove(Guid Id)
        {
            AirlineDestination airlineDestination = db.AirlineDestination.Find(Id);

            db.AirlineDestination.Remove(airlineDestination);
        }
Example #5
0
        public AirlineDestination GetAirlineDestination(Guid Id)
        {
            AirlineDestination dbAirlineDestination = db.AirlineDestination.Find(Id);

            return(dbAirlineDestination);
        }
Example #6
0
 public void Add(AirlineDestination airlineDestination)
 {
     db.AirlineDestination.Add(airlineDestination);
     db.SaveChanges();
 }