import 'package:comwell_key_app/up_sales/models/facility_type.dart';
import 'package:comwell_key_app/up_sales/models/upgrade.dart';

class RoomUpgrade extends Upgrade {
  final List<FacilityType> facilityTypes;
  final int roomSize;
  const RoomUpgrade({
    required super.id,
    required super.name,
    required super.price,
    required super.currency,
    required super.images,
    required super.description,
    required super.quantity,
    required this.facilityTypes,
    required this.roomSize,
  });

  RoomUpgrade copyWith({
    String? name,
    int? price,
    Iterable<String>? images,
    String? description,
    String? id,
    String? currency,
    int? quantity,
    List<FacilityType>? facilityTypes,
    int? roomSize,
  }) {
    return RoomUpgrade(
      name: name ?? this.name,
      price: price ?? this.price,
      images: images ?? this.images,
      description: description ?? this.description,
      id: id ?? this.id,
      currency: currency ?? this.currency,
      quantity: quantity ?? this.quantity,
      facilityTypes: facilityTypes ?? this.facilityTypes,
      roomSize: roomSize ?? this.roomSize,
    );
  }

  @override
  String toString() {
    return "RoomUpgrade(name: $name, price: $price, images: $images, description: $description, id: $id, currency: $currency)";
  }

  @override
  List<Object?> get props =>
      [name, price, images, description, id, currency];
}