loadForm method

Future<void> loadForm(
  1. UHotelResponse? item
)

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>[]);
}