import 'package:comwell_key_app/up_sales/models/upgrade.dart';
class AddOnUpgrade extends Upgrade {
final bool isSelected;
final bool isService;
final bool isPopular;
final bool onlyAvailableBeforeCheckin;
final String animationJson;
final String backgroundImageUrl;
const AddOnUpgrade({
required super.id,
required super.name,
required super.price,
required super.currency,
required super.images,
required super.description,
required super.quantity,
required this.isSelected,
required this.isService,
required this.isPopular,
required this.onlyAvailableBeforeCheckin,
this.animationJson = '',
this.backgroundImageUrl = '',
});
@override
List<Object?> get props => [id, quantity, isSelected];
@override
String toString() {
return 'AddOnUpgrade(id: $id, name: $name, price: $price, currency: $currency, isSelected: $isSelected, images: $images, description: $description, isService: $isService, quantity: $quantity)';
}
AddOnUpgrade copyWith({
int? quantity,
bool? isSelected,
bool? isService,
bool? isPopular,
bool? onlyAvailableBeforeCheckin,
String? animationJson,
String? backgroundImageUrl,
}) {
return AddOnUpgrade(
id: id,
name: name,
price: price,
currency: currency,
images: images,
description: description,
quantity: quantity ?? this.quantity,
isSelected: isSelected ?? this.isSelected,
isService: isService ?? this.isService,
isPopular: isPopular ?? this.isPopular,
onlyAvailableBeforeCheckin: onlyAvailableBeforeCheckin ?? this.onlyAvailableBeforeCheckin,
animationJson: animationJson ?? this.animationJson,
backgroundImageUrl: backgroundImageUrl ?? this.backgroundImageUrl,
);
}
bool get isAddedToCart => quantity > 0 || isSelected;
}