/// <summary> /// Method responsible for creating BookingDetails accrording to the passed bookingId and class /// </summary> public static void CreateBookingDetailPckg(Booking newBooking, string Class) { List <Package> selectedPckg = PackageDB.GetPackagesById((int)newBooking.PackageId); List <FlightsTable> inclFlights = FlightsTableDB.getFlightsById(selectedPckg[0].DepartureFlight, selectedPckg[0].ReturnFlight); List <Products_Suppliers> usedProds = Products_SuppliersDB.GetProductsSuppliersIdFromPackageId((int)newBooking.PackageId); SqlConnection con = UnversalDBControls.GetConnection(); string insertStatement = "ALTER TABLE BookingDetails " + "NOCHECK CONSTRAINT FK_BookingDetails_Bookings; " + "ALTER TABLE BookingDetails " + "NOCHECK CONSTRAINT FK_BookingDetails_Regions; " + "INSERT INTO BookingDetails (ItineraryNo, TripStart, TripEnd, Description, Destination, BasePrice, " + "AgencyCommission, BookingId, RegionId, ClassId, FeeId, ProductSupplierId, " + "DeparturePlnId, ReturnPlnId) " + "VALUES(@ItineraryNo, @TripStart, @TripEnd, @Description, @Destination, @BasePrice, " + "@AgencyCommission, @BookingId, @RegionId, @ClassId, @FeeId, @ProductSupplierId, " + "@DeparturePlnId, @ReturnPlnId)"; SqlCommand cmd = new SqlCommand(insertStatement, con); cmd.Parameters.AddWithValue("@ItineraryNo", RandomString(6)); cmd.Parameters.AddWithValue("@TripStart", inclFlights[0].FltDepart); cmd.Parameters.AddWithValue("@TripEnd", inclFlights[1].FltReturn); cmd.Parameters.AddWithValue("@Description", inclFlights[0].FltLocation + "/" + inclFlights[1].FltDestination + "/" + inclFlights[0].FltLocation); cmd.Parameters.AddWithValue("@Destination", inclFlights[1].FltDestination); cmd.Parameters.AddWithValue("@BasePrice", selectedPckg[0].PkgBasePrice); cmd.Parameters.AddWithValue("@AgencyCommission", selectedPckg[0].PkgAgencyCommission); cmd.Parameters.AddWithValue("@BookingId", newBooking.BookingId); cmd.Parameters.AddWithValue("@RegionId", inclFlights[1].RegionId); cmd.Parameters.AddWithValue("@ClassId", Class); if (newBooking.TravelerCount == 1) { cmd.Parameters.AddWithValue("@FeeId", "BK"); } else if (newBooking.TravelerCount >= 2) { cmd.Parameters.AddWithValue("@FeeId", "GR"); } cmd.Parameters.AddWithValue("@ProductSupplierId", usedProds[0].ProductSupplierId); cmd.Parameters.AddWithValue("@DeparturePlnId", inclFlights[0].FlightId); cmd.Parameters.AddWithValue("@ReturnPlnId", inclFlights[1].FlightId); try { con.Open(); cmd.ExecuteNonQuery(); } catch (SqlException ex) { throw ex; } finally { con.Close(); } }