/// <summary> /// Add a new airport variation. /// </summary> /// <param name="variationName">The name of the airport variation.</param> /// <param name="airport"> The airport it will reference to.</param> /// <returns>True variation added to db; False something went wrong.</returns> public bool AddNewVariation(string variationName, Airport airport) { // Use the YapbtDbEntities to store the data. using (var db = new YapbtDbEntities()) { try { // Create a new variation, add the data and safe it. AirportVariations variation = new AirportVariations(); variation.Airport = airport; variation.variationname = variationName; variation.cts = DateTime.Now; // Add the new variation to the db. db.AirportVariations.Add(variation); db.SaveChanges(); return true; } catch (Exception) { return false; } } }
/// <summary> /// Add a new airport variation by object. /// </summary> /// <param name="airport">The airport object to add.</param> /// <returns>True variation added to db; False something went wrong.</returns> public bool AddNewVariation(AirportVariations airport) { using (var db = new YapbtDbEntities()) { try { db.AirportVariations.Add(airport); } catch (Exception ex) { return false; throw; } } return true; }
/// <summary> /// Remove all positions of an variation. /// </summary> /// <param name="variation"> /// The airport variation. With this object, it will lookup for all positions. /// </param> /// <returns>True everything went well; False something went wrong.</returns> public bool RemoveAllPositions(AirportVariations variation) { using (var db = new YapbtDbEntities()) { Path path = new Path(); // Find a list of all positions, which belongs to this variation. var position = db.AirportPositions.Where(c => c.variationid == variation.variationid).ToList(); // If any position is available. if (position.Any()) { // For each position, remove all pushback path and remove the position. position.ForEach(delegate (AirportPositions pos) { path.RemoveAllPushbackPathOfPosition(pos); db.AirportPositions.Remove(pos); db.SaveChanges(); }); } return true; } }
static void AddVariation(string variationName, Airport airport, YapbtDbEntities db) { // Create a new variation, add the data and safe it. AirportVariations variation = new AirportVariations(); variation.Airport = airport; variation.variationname = variationName; variation.cts = DateTime.Now; // Add the new variation to the db. db.AirportVariations.Add(variation); db.SaveChanges(); }
/// <summary> /// Delete a variation and all necessary data (positions, paths). /// </summary> /// <param name="variation">The variation to delete.</param> /// <returns>True variation was delted; False not able.</returns> public bool DeleteVariation(AirportVariations variation) { using (var db = new YapbtDbEntities()) { Position position = new Position(); //TODO Remove Pushbackpath and positions. position.RemoveAllPositions(variation); db.AirportVariations.Remove(variation); db.SaveChanges(); return true; } }