feat : cashing data in local storage and send it
This commit is contained in:
106
packages/livestock/lib/data/utils/mapper.dart
Normal file
106
packages/livestock/lib/data/utils/mapper.dart
Normal file
@@ -0,0 +1,106 @@
|
||||
import '../model/local/live_tmp/livestock_local_model.dart';
|
||||
import '../model/response/live_tmp/livestock_model.dart';
|
||||
|
||||
// Extension for LivestockData to convert to LivestockLocalModel
|
||||
extension LivestockDataX on LivestockData {
|
||||
LivestockLocalModel toLocal() {
|
||||
return LivestockLocalModel()
|
||||
..rancher = rancher?.toLocal()
|
||||
..herd = herd?.toLocal()
|
||||
..livestock = livestock?.map((e) => e.toLocal()).toList();
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for LivestockLocalModel to convert to LivestockData
|
||||
extension LivestockLocalModelX on LivestockLocalModel {
|
||||
LivestockData toData() {
|
||||
return LivestockData(
|
||||
rancher: rancher?.toData(),
|
||||
herd: herd?.toData(),
|
||||
livestock: livestock?.map((e) => e.toData()).toList(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for Rancher to convert to RancherLocal
|
||||
extension RancherX on Rancher {
|
||||
RancherLocal toLocal() {
|
||||
return RancherLocal()
|
||||
..name = name
|
||||
..phone = phone
|
||||
..image = image;
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for RancherLocal to convert to Rancher
|
||||
extension RancherLocalX on RancherLocal {
|
||||
Rancher toData() {
|
||||
return Rancher(name: name, phone: phone, image: image);
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for Herd to convert to HerdLocal
|
||||
extension HerdX on Herd {
|
||||
HerdLocal toLocal() {
|
||||
return HerdLocal()
|
||||
..location = location?.toLocal()
|
||||
..address = address
|
||||
..image = image;
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for HerdLocal to convert to Herd
|
||||
extension HerdLocalX on HerdLocal {
|
||||
Herd toData() {
|
||||
return Herd(location: location?.toData(), address: address, image: image);
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for Location to convert to LocationLocal
|
||||
extension LocationX on Location {
|
||||
LocationLocal toLocal() {
|
||||
return LocationLocal()
|
||||
..lat = lat
|
||||
..lng = lng;
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for LocationLocal to convert to Location
|
||||
extension LocationLocalX on LocationLocal {
|
||||
Location toData() {
|
||||
return Location(lat: lat, lng: lng);
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for Livestock to convert to LivestockLocal
|
||||
extension LivestockX on Livestock {
|
||||
LivestockLocal toLocal() {
|
||||
return LivestockLocal()
|
||||
..species = species
|
||||
..breed = breed
|
||||
..dateOfBirth = dateOfBirth
|
||||
..sex = sex
|
||||
..motherTag = motherTag
|
||||
..fatherTag = fatherTag
|
||||
..tagNumber = tagNumber
|
||||
..tagType = tagType
|
||||
..image = image;
|
||||
}
|
||||
}
|
||||
|
||||
// Extension for LivestockLocal to convert to Livestock
|
||||
extension LivestockLocalX on LivestockLocal {
|
||||
Livestock toData() {
|
||||
return Livestock(
|
||||
species: species,
|
||||
breed: breed,
|
||||
dateOfBirth: dateOfBirth,
|
||||
sex: sex,
|
||||
motherTag: motherTag,
|
||||
fatherTag: fatherTag,
|
||||
tagNumber: tagNumber,
|
||||
tagType: tagType,
|
||||
image: image,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user