part of 'crud_bloc.dart';

abstract class CrudEvent extends Equatable {
  const CrudEvent();
}

class AddTodo extends CrudEvent {
  final String id;
  final String transCode;
  final String tdn;
  final String pin;
  final String fname;
  final String mname;
  final String lname;
  final String bday;
  final String address;
  final String telno;
  final String tin;
  final String adminUser;
  final String adminAddress;
  final String adminTelno;
  final String adminTin;
  final String faasType;
  final String assessedById;
  final String assessedByName;
  final String dateCreated;
  final String dateModified;
  final String genCode;

  const AddTodo(
      {required this.id,
      required this.transCode,
      required this.tdn,
      required this.pin,
      required this.fname,
      required this.mname,
      required this.lname,
      required this.bday,
      required this.address,
      required this.telno,
      required this.tin,
      required this.adminUser,
      required this.adminAddress,
      required this.adminTelno,
      required this.adminTin,
      required this.faasType,
      required this.assessedById,
      required this.assessedByName,
      required this.dateCreated,
      required this.dateModified,
      required this.genCode});

  @override
  List<Object?> get props => [
        id,
        transCode,
        tdn,
        pin,
        fname,
        mname,
        lname,
        bday,
        address,
        telno,
        tin,
        adminUser,
        adminAddress,
        adminTelno,
        adminTin,
        faasType,
        assessedById,
        assessedByName,
        dateCreated,
        dateModified,
        genCode
      ];
}

class UpdatePropertyOwnerInfo extends CrudEvent {
  final PropertyInfo propertyInfo;
  final int id;

  UpdatePropertyOwnerInfo({required this.id, required this.propertyInfo});

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

class FetchTodos extends CrudEvent {
  const FetchTodos();

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

class UploadBuildingFaas extends CrudEvent {
  final OfflineProfile offlineProfile;
  const UploadBuildingFaas({required this.offlineProfile});

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

class FetchSpecificTodo extends CrudEvent {
  final int id;
  const FetchSpecificTodo({required this.id});

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

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