changeFavoritesProviders function

dynamic changeFavoritesProviders(
  1. ProviderData item
)

Implementation

changeFavoritesProviders(ProviderData item){
  User? user = FirebaseAuth.instance.currentUser;
  if (user == null)
    return;
  try{
    if (userAccountData.userFavoritesProviders.contains(item.id)) {
      userAccountData.userFavoritesProviders.remove(item.id);
      FirebaseFirestore.instance.collection("provider").doc(item.id).set({
        "favoritesCount": FieldValue.increment(-1),
      }, SetOptions(merge:true));
    }else {
      userAccountData.userFavoritesProviders.add(item.id);
      FirebaseFirestore.instance.collection("provider").doc(item.id).set({
        "favoritesCount": FieldValue.increment(1),
      }, SetOptions(merge:true));
    }

    FirebaseFirestore.instance.collection("listusers").doc(user.uid).set({
      "userFavoritesProviders": userAccountData.userFavoritesProviders,
    }, SetOptions(merge:true)).then((value2) {});

  }catch(ex){
    return "changeFavoritesProviders " + ex.toString();
  }
  return;
}