updateChanges method

Future<void> updateChanges(
  1. BuildContext context,
  2. VoidCallback onClose
)

Updates the doctor's details in the database.

Implementation

Future<void> updateChanges(BuildContext context, VoidCallback onClose) async {
  emit(DoctorEditSaving());
  try {
    final updatedData = {
      'doctorName': nameController.text.trim(),
      'mobileNo': 0,
      'email': emailController.text.trim(),
    };

    await db.updateDocument(
      databaseId: AppConstants.appwriteDatabaseId,
      collectionId: AppConstants.userCollectionId,
      documentId: documentId,
      data: updatedData,
    );

    emit(DoctorEditSaved());

    if (context.mounted) {
      ScaffoldMessenger.of(context).showSnackBar(
        const SnackBar(content: Text("Doctor updated successfully")),
      );
    }

    onClose();
  } catch (e) {
    emit(DoctorEditError("Update failed: $e"));

    if (context.mounted) {
      ScaffoldMessenger.of(
        context,
      ).showSnackBar(SnackBar(content: Text("Update failed: $e")));
    }
  }
}