loadForm method
Implementation
Future<void> loadForm(UHotelResponse? item) async {
final UHotelResponse? h = item == null
? null
: (await UServices.hotel.readHotelById(
p: UIdParams(
id: item.id,
selectorArgs: const UHotelSelectorArgs(media: UMediaSelectorArgs()),
),
)).$1?.result ??
item;
final UHotelJson? d = h?.jsonData;
editing = h;
titleController.text = h?.title ?? "";
descriptionController.text = d?.description ?? d?.detail1 ?? "";
starsController.text = h?.stars.toString() ?? "";
addressController.text = h?.address ?? "";
phoneController.text = h?.phoneNumber ?? "";
emailController.text = h?.email ?? "";
checkInTimeController.text = d?.checkInTime ?? "";
checkOutTimeController.text = d?.checkOutTime ?? "";
policiesController.text = d?.policies ?? "";
rulesController.text = d?.rules.join(", ") ?? "";
latitudeController.text = d?.latitude?.toString() ?? "";
longitudeController.text = d?.longitude?.toString() ?? "";
cancellationFreeHoursController.text = (d?.cancellationFreeHours ?? 24).toString();
cancellationPenaltyNightsController.text = (d?.cancellationPenaltyNights ?? 1).toString();
websiteController.text = d?.website ?? "";
whatsappController.text = d?.whatsapp ?? "";
instagramController.text = d?.instagram ?? "";
telegramController.text = d?.telegram ?? "";
howToGetThereController.text = d?.howToGetThere ?? "";
cityCode = h?.cityCode ?? UCountries.iran().provinces.first.cities.firstOrNull?.code ?? "";
tags = List<int>.from(h?.tags ?? <int>[TagHotel.hotel.number, TagHotel.active.number]);
highlights = List<String>.from(d?.highlights ?? <String>[]);
nearby = List<UPlaceNearby>.from(d?.nearby ?? <UPlaceNearby>[]);
faqs = List<UPlaceFaq>.from(d?.faqs ?? <UPlaceFaq>[]);
media = (h?.media ?? <UMediaResponse>[]).sortedForGallery();
photos.dispose();
photos = UFilePickerController.fromMedia(media);
admins = await readUsersById(h?.adminUserIds ?? <String>[]);
}