CodeSystem2022 / Proyecto-Final-Perricornios---Tercer-Semestre

Mismo proyecto de tienda de estética que teníamos en pSeInt
9 stars 1 forks source link

03.4 - Clase Cliente - Funciones #16

Closed BrunoLCA95 closed 1 year ago

BrunoLCA95 commented 1 year ago

Se requiere de la creación de una función en la clase cliente con el objetivo de solicitar un turno para atención

Función :

BrunoLCA95 commented 1 year ago

Hola carlos te dejo el ejemplo de la función

def cargarTurno(self):

Establecer conexión con la base de datos

conn = psycopg2.connect(
    user="perricornios",
    password="perricornios_pfinal",
    host="localhost",
    port="5432",
    database="tienda"
)
# Crear un cursor para ejecutar consultas
cursor = conn.cursor()

turno_valido = False

while not turno_valido:
    turno = input("Ingrese el número de turno deseado (1-6): ")  #Falta mejorar este input,
    #Turno1,2,3 son los de mañana . Turno4,5,6 son los de tarde
    #Fijate en el proyecto pseint para ver a los horarios que corresponde

    # Verificar si el turno está ocupado en la base de datos
    columna_turno = f"turno{turno}"
    cursor.execute(f"SELECT {columna_turno} FROM Perri_Centro_Spa.turnos WHERE dia=%s AND mes=%s", (self.dia, self.mes))
    resultado = cursor.fetchone()

    if resultado and resultado[0] is not None:
        print("El turno seleccionado está ocupado. Por favor, elija otro turno.")
    else:
        # Realizar la asignación del turno en la base de datos
        #Aca necesito que agreges el atributo id_cliente en la clase y la inicialices en none
        id_cliente = self._id_cliente # a si podes llamar a ese atributo de la clase

        if id_cliente:
            cursor.execute(f"UPDATE Perri_Centro_Spa.turnos SET {columna_turno}=%s WHERE dia=%s AND mes=%s", (id_cliente, self.dia, self.mes))
            conn.commit()
            print("Carga exitosa de turno.")
            turno_valido = True
        else:
            print("Cliente no encontrado. Intente nuevamente.")

# Cerrar la conexión con la base de datos
conn.close()
Noe3467 commented 1 year ago

No hay informes de avance al día lunes 12/6 como se acordó en la reunión del sábado. Día miércoles se reasigna si no se presentan avances antes