import 'package:equatable/equatable.dart'; class ProviderLocationModel extends Equatable { final String? id; final String providerId; final String companyId; final String name; // Es: "Laboratorio Centrale" final String address; final String city; final String zipCode; final String province; final String? contactPerson; final bool isMain; const ProviderLocationModel({ this.id, required this.providerId, required this.companyId, required this.name, required this.address, required this.city, required this.zipCode, required this.province, this.contactPerson, this.isMain = false, }); factory ProviderLocationModel.empty() { return const ProviderLocationModel( providerId: '', companyId: '', name: '', address: '', city: '', zipCode: '', province: '', ); } ProviderLocationModel copyWith({ String? id, String? providerId, String? companyId, String? name, String? address, String? city, String? zipCode, String? province, String? contactPerson, bool? isMain, }) { return ProviderLocationModel( id: id ?? this.id, providerId: providerId ?? this.providerId, companyId: companyId ?? this.companyId, name: name ?? this.name, address: address ?? this.address, city: city ?? this.city, zipCode: zipCode ?? this.zipCode, province: province ?? this.province, contactPerson: contactPerson ?? this.contactPerson, isMain: isMain ?? this.isMain, ); } factory ProviderLocationModel.fromMap(Map map) { return ProviderLocationModel( id: map['id'] as String, providerId: map['provider_id'] as String, companyId: map['company_id'] as String, name: map['name'] as String, address: map['address'] as String, city: map['city'] as String, zipCode: map['zip_code'] as String, province: map['province'] as String, contactPerson: map['contact_person'] as String?, isMain: map['is_main'] as bool? ?? false, ); } Map toMap() { return { if (id != null) 'id': id, 'provider_id': providerId, 'company_id': companyId, 'name': name, 'address': address, 'city': city, 'zip_code': zipCode, 'province': province, 'contact_person': contactPerson, 'is_main': isMain, }; } @override List get props => [ id, providerId, companyId, name, address, city, zipCode, province, contactPerson, isMain, ]; }