Проверить наличие записи и отключить кнопку, если запись существует - PullRequest
0 голосов
/ 18 июня 2019

У меня есть кнопка, чтобы выбрать время, и я проверяю, есть ли значение в firestore, если это так, кнопка со значением, которое находится в базе данных, отключена

В любом случае, когда я нажимаюкнопка, Навигатор работает

  Future<bool> checkNote(String pickedDay, String pickedTime) async{
  final QuerySnapshot result = await Firestore.instance
      .collection('customers')
      .where('pickedDay',isEqualTo: pickedDay)
      .where('pickedTime', isEqualTo: pickedTime)
      .limit(1)
      .getDocuments();
  final List<DocumentSnapshot> documents = result.documents;
  return documents.length == 1;
  }
...
 new FlatButton(
            key: Key("10:00"),
            onPressed: () {
              String pickedTime = "10:00";
                if (checkNote(pickedDay.toString(), pickedTime) == true){
                  setState(() {
                    print(pickedTime);
                    FlatButton(onPressed:  null,
              child: Text(
              "Picked time is already busy",
              style: TextStyle(fontSize: 16.0),
            ),);
                  });
                }
                else {
                  Navigator.push(
                      context,
                      MaterialPageRoute(
                        builder: (context) =>
                            Approval(
                                picked: pickedDay,
                                timePicked: pickedTime,
                                userPhone: phoneNumber,
                                service: service),
                      ));
                }

            },

            child: Text(
              "10:00",
              style: TextStyle(fontSize: 16.0),
            ),
          ),

Итак, как мне реализовать:

  1. Когда пользователь нажимает на кнопку, происходит проверка существующего значения вFirestore, и если есть равное значение, то кнопка переходит в состояние выключения, и отображается сообщение о том, что выбранное время уже занято.И

  2. Создайте StreamBuilder, и он отображает кнопки на основе выбранного дня на предыдущей странице приложения (где выбран день недели), т.е., например, если вывыберите 25 июня, и Firestore имеет значение от 25 июня, затем на странице отключаются те кнопки, значения которых находятся в Firestore

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...