import tkinter as tk
from tkinter import messagebox
from pymongo import MongoClient

# Conectar a MongoDB (asumiendo que MongoDB está corriendo en localhost:27017)
client = MongoClient('mongodb+srv://actividad1:exam1@cluster0.fniy7ia.mongodb.net/?appName=Cluster0')
db = client['actividad1']  # Nombre de la base de datos
collection = db['exam1']  # Nombre de la colección

def guardar_datos():
    nombre = entry_nombre.get()
    grupo = entry_grupo.get()
    telefono = entry_telefono.get()

    if not nombre or not grupo or not telefono:
        messagebox.showerror("Error", "Todos los campos son obligatorios")
        return

    # Crear documento
    documento = {
        'nombre': nombre,
        'grupo': grupo,
        'telefono': telefono
    }

    # Insertar en MongoDB
    try:
        collection.insert_one(documento)
        messagebox.showinfo("Éxito", "Datos guardados correctamente")
        # Limpiar campos
        entry_nombre.delete(0, tk.END)
        entry_grupo.delete(0, tk.END)
        entry_telefono.delete(0, tk.END)
    except Exception as e:
        messagebox.showerror("Error", f"Error al guardar: {str(e)}")

# Crear ventana principal
root = tk.Tk()
root.title("Guardar Datos en MongoDB")

# Etiquetas y entradas
tk.Label(root, text="Nombre:").grid(row=0, column=0, padx=10, pady=10)
entry_nombre = tk.Entry(root)
entry_nombre.grid(row=0, column=1, padx=10, pady=10)

tk.Label(root, text="Grupo:").grid(row=1, column=0, padx=10, pady=10)
entry_grupo = tk.Entry(root)
entry_grupo.grid(row=1, column=1, padx=10, pady=10)

tk.Label(root, text="Teléfono:").grid(row=2, column=0, padx=10, pady=10)
entry_telefono = tk.Entry(root)
entry_telefono.grid(row=2, column=1, padx=10, pady=10)

# Botón guardar
tk.Button(root, text="Guardar", command=guardar_datos).grid(row=3, column=0, columnspan=2, pady=10)

# Ejecutar la aplicación
root.mainloop()