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, ); } }