Python Code:-
import os
import platform
import mysql.connector
import pandas as pd
import datetime
tinga = mysql.connector.connect(host = “localhost”, user = “root”,\
password = “root”, database = “fashion”)
cursor = tinga.cursor()
def AddProduct():
L = []
stock = []
pid = input(“Enter the product ID: ”)
L.append(pid)
Name = input(“Enter the product name: ”)
L.append(Name)
Brand = input(“Enter the product’s brand name: ”)
L.append(Brand)
for = input(“Enter for Men/Women/Kids: ”)
L.append(for)
Season = input(“Enter the season (winter/summer): “)
L.append(season)
rate = int(input(“Enter the rates for products: ”))
L.append(rate)
product = (L)
sql = “Insert into product(pid, Name, Brand, for, season, rate)
tinga.commit()
stock.append(pid)
stock.append(0)
stock.append(“No”)
st = (stock)
sql = “Insert into stock(item_id, instock, status) values(%s, %s, %s)”
cursor.execute(sql,st)
tinga.commit()
print(“One product inserted. “)
def EditProduct():
pid = input(“Enter product Id to be edited: ”)
sql = “select* from product where product_id = %s”
ed = (pid,)
cursor.execute(sql,ed)
res = cursor.fetchall()
for x in res:
print(x)
print(“”)
field = input(“Enter the field which you want to select: ”)
val = input(“Enter the value you want to set: ”)
sql = “Update product set ”+field+“=”+val+“where product_id=”+pid+ “”
sq = sql
cursor.execute(sql)
print(“Editing done.”)
print(“After correction, the record is: “)
sql = “select * from where product_id = %s”
ed = (pid,)
cursor.execute(sql, ed)
res = cursor.fetchall()
for x in res:
print(x)
tinga.commit()
def DelProduct():
pid = input(“Enter the Product’s ID to be deleted: ”)
sql = “delete from sales where item_id=%s”
id = (pid,)
cursor.execute(sql,id)
tinga.commit()
sql = “delete from purchase where item_id = %s”
tinga.commit()
sql = “delete from stock where item_id=%s”
tinga.commit()
sql = “delete from product where product_id=%s”
cursor.execute(sql,id)
tinga.commit()
print(“One item deleted. ”)
def ViewProduct()
print("Display Menu: Select the category to display the data")
print("1. All Details")
print("2. Product Name:")
print("3. Product Brand:")
print("4. Product For:")
print("5. Product Season:")
print("6. Product ID:")
x=0
ch = int(input("Enter your choice to display : "))
if ch==1:
sql = "select * from product"
cursor.execute(sql)
res=cursor.fetchall()
for x in res:
print(x)
x=1
elif ch==2:
var='PName'
val=input("Enter the name of Product : ")
elif ch==3:
var='brand'
val=input("Enter the name of Brand : ")
elif ch==4:
var='Product_for'
val=input("Enter Male/Female/Kids : ")
elif ch==5:
var='season'
val=input("Enter the Season : ")
elif ch==6:
var='product_id'
val=input("Enter the Product_id : ")
if x==0:
sql="select * from product where " + var + " = %s"
sq=sql
tp = (val,)
cursor.execute(sq,tp)
res =cursor.fetchall()
for x in res:
print(x)
def PurchaseProduct():
mn = ""
dy = ""
now=datetime.datetime.now()
purchaseID="P" + str(now.year) + str(now.month) + str(now.day)+
str(now.hour) + str(now.minute) + str(now.second)
L = []
Lst = []
L.append(purchaseID)
itemId = input("Enter Product ID : ")
L.append(itemId)
itemNo = int(input("Enter the number of Items : "))
L.append(itemNo)
sql = "select rate from product where product_id=%s"
pid = (itemId,)
cursor.execute(sql,pid)
res = cursor.fetchone()
for x in res:
print("rate is : ", x)
amount = x*itemNo
print("Amount is : ", amount)
L.append(amount)
month = now.month
if month<=9:
mn = "0" + str(month)
else:
mn = str(month)
day = now.day
if day <= 9:
dy = "0" + str(day)
else:
dy = str(day)
dt = str(now.year) + "-" + mn + "-" + dy
L.append(dt)
tp=(L)
sql="insert into purchase( purchase_id, item_id, no_of_items,amount,
cursor.execute(sql,tp)
tinga.commit()
sql="Select Instock from stock where item_id=%s"
cursor.execute(sql,pid)
res=cursor.fetchall()
status="No"
for x in res:
print(x)
instock=x[0]+itemNo
if instock>0:
status="Yes"
Lst.append(instock)
Lst.append(status)
Lst.append(itemId)
tp=(Lst)
sql="update stock set instock=%s,status=%s where item_id=%s"
cursor.execute(sql,tp)
tinga.commit()
print("1 Item purchased and saved in database.")
def ViewPurchase():
item = input("Enter Product Name : ")
sql = "select product.product_id, product.PName, product.brand,
purchase.no_of_items, purchase.purchase_date,
purchase.amount from product INNER JOIN purchase ON
product.product_id=purchase.item_id and product.PName=%s”
itm = (item,)
cursor.execute(sql,itm)
res = cursor.fetchall()
for x in res:
print(x)
def ViewStock():
item=input("Enter Product Name : ")
sql="select product.product_id, product.PName, stock.Instock,\
stock.status from stock, product where\
product.product_id=stock.item_id and product.PName=%s "
itm = (item,)
cursor.execute(sql,itm)
res = cursor.fetchall()
for x in res:
print(x)
def SaleProduct():
now=datetime.datetime.now()
saleID = "S" + str(now.year) + str(now.month) + str(now.day) +
str(now.hour) + str(now.minute) + str(now.second)
L = []
L.append(saleID)
itemId = input("Enter Product ID : ")
L.append(itemId)
itemNo = int(input("Enter the number of Items : "))
L.append(itemNo)
sql = "select rate from product where product_id=%s"
pid = (itemId,)
cursor.execute(sql,pid)
res = cursor.fetchall()
for x in res:
print("The rate of item is: ",x)
dis = int(input("Enter the discount: "))
saleRate = x[0] - (x[0]*dis/100)
L.append(saleRate)
amount = itemNo*saleRate
L.append(amount)
mnth = now.month
if mnth<=9:
mn = "0" + str(mnth)
else:
mn = str(mnth)
day = now.day
if day<=9:
dy = "0" + str(day)
else:
dy = str(day)
dt = str(now.year) + "-" + mn + "-" + dy
L.append(dt)
tp = (L,)
sql = "insert into sales (sale_id, item_id,no_of_item_sold,\
sale_rate,amount,date_of_sale) values(%s,%s,%s,%s,%s,%s)"
cursor.execute(sql,tp)
tinga.commit()
sql = "Select Instock from stock where item_id=%s"
cursor.execute(sql,pid)
res = cursor.fetchall()
for x in res:
print("Total Items in Stock are : ",x)
instock = x[0] - itemNo
if instock>0:
status="Yes"
tp = (instock,status,itemId)
sql = "update stock set instock=%s,status=%s where item_id=%s"
print("Remaining Items in Stock are : ",instock)
cursor.execute(sql,tp)
tinga.commit()
def ViewSales():
item = input("Enter Product Name : ")
sql = "select product.product_id, product.PName,product.brand,\
sales.no_of_item_sold,sales.date_of_sale,sales.amount \
from sales, product where product.product_id=sales.item_id \
and product.PName=%s"
itm=(item,)
cursor.execute(sql,itm)
res=cursor.fetchall()
for x in res:
print(x)
def MenuSet(): #Function For The SFashion Store System
print("Enter 1 : To Add Product ")
print("Enter 2 : To Edit Product ")
print("Enter 3 : To Delete Product ")
print("Enter 4 : To View Product ")
print("Enter 5 : To Purchase Product")
print("Enter 6 : To View Purchases")
print("Enter 7 : To View Stock Detials")
print("Enter 8 : To Sale the item")
print("Enter 9 : To View Sales Detials")
try: #Using Exceptions For Validation
userInput = int(input("Please Select An Above Option: ")) #Will Take
Input From User
except ValueError:
exit("\nHy! That's Not A Number") #Error Message
else:
print("\n") #Print New Line
if(userInput == 1):
AddProduct()
elif(userInput == 2):
EditProduct()
elif (userInput==3):
DelProduct()
elif (userInput==4):
ViewProduct()
elif (userInput==5):
PurchaseProduct()
elif (userInput==6):
ViewPurchase()
elif (userInput==7):
ViewStock()
elif (userInput==8):
SaleProduct()
elif (userInput==9):
ViewSales()
else:
print("Enter correct choice. . . ")
print("*"*80)
print("* * * * * * * Welcome to the Central Fashion Store * * * * * * * ")
print("* * * * Created By: Saaim Hayat : * * * * ")
print("*"*80)
print("")
MenuSet()
def runAgain():
runAgn = input("\nwant To Run Again Y/n: ")
while(runAgn.lower() == 'y'):
if(platform.system() == "Windows"):
print(os.system('cls'))
else:
print(os.system('clear'))
MenuSet()
runAgn = input("\nwant To Run Again Y/n: ")
runAgain()+