part of 'additional_items_offline_bloc.dart';

class AdditionalItemsOfflineEvent extends Equatable {
  const AdditionalItemsOfflineEvent();

  @override
  List<Object> get props => [];
}

class LoadAdditionalItems extends AdditionalItemsOfflineEvent {
  final List<AdditionalItems> items;

  const LoadAdditionalItems({this.items = const <AdditionalItems>[]});

  @override
  List<Object> get props => [items];
}

class LoadAdditionalItemsEdit extends AdditionalItemsOfflineEvent {
  final List<AdditionalItems> items;
  final int? id;

  const LoadAdditionalItemsEdit({required this.items, this.id});

  @override
  List<Object> get props => [items];
}

class AddAdditionalItems extends AdditionalItemsOfflineEvent {
  final int id;
  final int bldgapprDetailsId;
  final int classId;
  final String assessedById;
  final String assessedByName;
  final String dateCreated;
  final String dateModified;
  final String className;
  final String structType;
  final dynamic unitValue;
  final dynamic baseUnitValue;
  final dynamic area;
  final dynamic marketValue;
  final dynamic depreciationRate;
  final dynamic adjustedMarketVal;
  final dynamic amtDepreciation;
  final bool painted;
  final bool secondhand;
  final dynamic paintedUnitval;
  final dynamic secondhandUnitval;
  final String actualUse;
  final String genCode;

  const AddAdditionalItems({
    required this.id,
    required this.bldgapprDetailsId,
    required this.classId,
    required this.assessedById,
    required this.assessedByName,
    required this.dateCreated,
    required this.dateModified,
    required this.className,
    required this.structType,
    required this.unitValue,
    required this.baseUnitValue,
    required this.area,
    required this.marketValue,
    required this.depreciationRate,
    required this.adjustedMarketVal,
    required this.amtDepreciation,
    required this.painted,
    required this.secondhand,
    required this.paintedUnitval,
    required this.secondhandUnitval,
    required this.actualUse,
    required this.genCode,
  });

  @override
  List<Object> get props => [
        id,
        bldgapprDetailsId,
        classId,
        assessedById,
        assessedByName,
        dateCreated,
        dateModified,
        className,
        structType,
        unitValue,
        baseUnitValue,
        area,
        marketValue,
        depreciationRate,
        adjustedMarketVal,
        amtDepreciation,
        painted,
        secondhand,
        paintedUnitval,
        secondhandUnitval,
        actualUse,
        genCode
      ];
}

class UpdateAdditionalItems extends AdditionalItemsOfflineEvent {
  final AdditionalItems addItems;
  const UpdateAdditionalItems({required this.addItems});
  @override
  List<Object> get props => [addItems];
}

class FetchAdditionalItems extends AdditionalItemsOfflineEvent {
  const FetchAdditionalItems();

  @override
  List<Object> get props => [];
}

class FetchSpecificAdditionalItems extends AdditionalItemsOfflineEvent {
  final int id;
  const FetchSpecificAdditionalItems({required this.id});

  @override
  List<Object> get props => [id];
}

class DeleteAdditionalItems extends AdditionalItemsOfflineEvent {
  final int id;
  const DeleteAdditionalItems({required this.id});
  @override
  List<Object> get props => [id];
}

class ShowAdditionalItems extends AdditionalItemsOfflineEvent {}
