import 'package:comwell_key_app/services/models/booking_dto.dart';
import 'package:comwell_key_app/up_sales/models/upgrade.dart';
import 'package:comwell_key_app/up_sales/models/room_upgrade.dart';
import 'package:comwell_key_app/up_sales/models/addon_upgrade.dart';
extension AddOnItemDTOMapper on BookingAddonItem {
Upgrade toUpgrade() {
// Determine if this is a room upgrade or addon based on the code
// You may need to adjust this logic based on your business rules
if (code.contains('ROOM') || code.contains('SDP') || code.contains('STD')) {
// This is a room upgrade
return RoomUpgrade(
id: code,
name: description,
price: price.toInt(),
currency: "DKK",
images: const [],
description: description,
quantity: quantity,
facilityTypes: const [],
roomSize: 0,
);
} else {
// This is an addon upgrade
return AddOnUpgrade(
id: code,
name: description,
price: price.toInt(),
currency: "DKK",
images: const [],
description: description,
isSelected: false,
quantity: quantity,
isService: true,
isPopular: false,
onlyAvailableBeforeCheckin: false,
);
}
}
}
extension ListAddOnItemDTOMapper on List<BookingAddonItem> {
List<Upgrade> toUpgrades() => map((dto) => dto.toUpgrade()).toList();
}