from django.db import models
from django.utils import timezone

# Model untuk menu kopi
class Coffee(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField()
    price = models.DecimalField(max_digits=5, decimal_places=2)
    ingredients = models.TextField(default='Auto Brew')
    brewing_method = models.TextField(default='Manual Brew')
    image = models.ImageField(upload_to = 'coffee_images/', default='coffee_images/kopi.jpeg')

    def __str__(self):
        return self.name
    
    def formatted_price(self):
        return f"Rp {self.price:,.2f}"

#Model untuk pesanan
class Order(models.Model):
    coffee = models.ForeignKey(Coffee, on_delete=models.CASCADE)
    customer_name = models.CharField(max_length=100)
    quantity = models.PositiveIntegerField()
    order_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f"Order for {self.customer_name} - {self.coffee.name}"
    
    def total_price(self):
        return self.coffee.price * self.quantity
    
#Model untuk keranjang
class CartItem(models.Model):
    coffee = models.ForeignKey(Coffee, on_delete=models.CASCADE)
    quantity = models.PositiveIntegerField(default=1)
    session_key = models.CharField(max_length=255, default='')
    created_at = models.DateTimeField(default=timezone.now)

    def total_price(self):
        return f"{self.coffee.name} * ({self.quantity}) in cart"  # Menghitung total harga per item
    
    def total_price(self):
        return self.coffee.price * self.quantity

