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 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()); }
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)); }
public void Remove(Guid Id) { AirlineDestination airlineDestination = db.AirlineDestination.Find(Id); db.AirlineDestination.Remove(airlineDestination); }
public AirlineDestination GetAirlineDestination(Guid Id) { AirlineDestination dbAirlineDestination = db.AirlineDestination.Find(Id); return(dbAirlineDestination); }
public void Add(AirlineDestination airlineDestination) { db.AirlineDestination.Add(airlineDestination); db.SaveChanges(); }