refactor providers e basi per spedizioni
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
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<String, dynamic> 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<String, dynamic> 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<Object?> get props => [
|
||||
id,
|
||||
providerId,
|
||||
companyId,
|
||||
name,
|
||||
address,
|
||||
city,
|
||||
zipCode,
|
||||
province,
|
||||
contactPerson,
|
||||
isMain,
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user