loadUsersForChatInCustomerApp function

Future<String?> loadUsersForChatInCustomerApp()

Implementation

Future<String?> loadUsersForChatInCustomerApp() async{
  if (users.isNotEmpty)
    return null;
  try{
    var querySnapshot = await FirebaseFirestore.instance.collection("listusers").where("providerApp", isEqualTo: true).get();
    users = [];
    for (var result in querySnapshot.docs) {
      var _data = result.data();
      dprint("User $_data");
      var us = UserData.fromJson(result.id, _data);
      for (var item in providers)
        if (item.login == us.email)
          users.add(us);
    }
    addStat("chat list users", querySnapshot.docs.length);
  }catch(ex){
    return "loadUsersForChatInCustomerApp " + ex.toString();
  }

  try{
    var querySnapshot = await FirebaseFirestore.instance.collection("listusers").where("role", isEqualTo: "owner").get();
    for (var result in querySnapshot.docs) {
      var _data = result.data();
      dprint("User $_data");
      users.add(UserData.fromJson(result.id, _data));
    }
    addStat("chat list users", querySnapshot.docs.length);
  }catch(ex){
    return "loadUsersForChatInCustomerApp " + ex.toString();
  }
  return null;
}