saveProduct function
Implementation
Future<String?> saveProduct(ProviderData provider, {bool admin = false}) async {
User? user = FirebaseAuth.instance.currentUser;
if (user == null)
return "user == null";
try{
// await FirebaseFirestore.instance.collection("listusers").doc(user.uid).set({
// "providerId": parent.providerData.id
// }, SetOptions(merge:true));
//
if (currentProduct.id.isEmpty) {
if (!admin) {
currentProduct.providers.add(provider.id);
currentProduct.taxAdmin = provider.tax;
}
var _data = currentProduct.toJson();
var t = await FirebaseFirestore.instance.collection("service").add(_data);
currentProduct.id = t.id;
product.add(currentProduct);
await FirebaseFirestore.instance.collection("settings").doc("main")
.set({"service_count": FieldValue.increment(1)}, SetOptions(merge:true));
}else {
var _data = currentProduct.toJson();
await FirebaseFirestore.instance.collection("service").doc(
currentProduct.id).set(_data, SetOptions(merge: true));
}
}catch(ex){
return "saveProduct " + ex.toString();
}
return null;
}