changeFavorites function
Implementation
String? changeFavorites(ProductData item){
User? user = FirebaseAuth.instance.currentUser;
if (user == null)
return "user == null";
try{
if (userAccountData.userFavorites.contains(item.id)) {
userAccountData.userFavorites.remove(item.id);
FirebaseFirestore.instance.collection("service").doc(item.id).set({
"favoritesCount": FieldValue.increment(-1),
"timeModify": FieldValue.serverTimestamp(),
}, SetOptions(merge:true));
}else {
userAccountData.userFavorites.add(item.id);
FirebaseFirestore.instance.collection("service").doc(item.id).set({
"favoritesCount": FieldValue.increment(1),
"timeModify": FieldValue.serverTimestamp(),
}, SetOptions(merge:true));
}
FirebaseFirestore.instance.collection("listusers").doc(user.uid).set({
"userFavorites": userAccountData.userFavorites,
}, SetOptions(merge:true)).then((value2) {});
}catch(ex){
return "changeFavorites " + ex.toString();
}
return null;
}