using System.Collections.Generic;
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int Stock { get; set; }
public string Category { get; set; }
static List<Product> products = new List<Product>();
static void Main(string[] args)
Console.WriteLine("\nمدیریت فروشگاه لیمون");
Console.WriteLine("1. نمایش همه محصولات");
Console.WriteLine("2. افزودن محصول جدید");
Console.WriteLine("3. حذف محصول");
Console.WriteLine("4. جستجوی محصول");
Console.WriteLine("5. خروج");
Console.Write("لطفاً گزینه مورد نظر را انتخاب کنید: ");
switch (Console.ReadLine())
Console.WriteLine("گزینه نامعتبر!");
static void InitializeProducts()
products.AddRange(new List<Product>
new Product { Id = nextId++, Name = "لیوان شیشه ای", Price = 45000, Stock = 50, Category = "لیوان" },
new Product { Id = nextId++, Name = "ماگ طرح لیمون", Price = 85000, Stock = 30, Category = "ماگ" },
new Product { Id = nextId++, Name = "قمقمه ورزشی", Price = 120000, Stock = 20, Category = "قمقمه" },
new Product { Id = nextId++, Name = "پک 6 عددی لیوان", Price = 220000, Stock = 15, Category = "پک لیمون" },
new Product { Id = nextId++, Name = "سطل یخ", Price = 75000, Stock = 25, Category = "سطل" },
new Product { Id = nextId++, Name = "لگن آشپزخانه", Price = 95000, Stock = 20, Category = "لگن" },
new Product { Id = nextId++, Name = "شات قهوه دبل", Price = 35000, Stock = 40, Category = "شات قهوه" },
new Product { Id = nextId++, Name = "قاشق چایخوری", Price = 15000, Stock = 100, Category = "قاشق" },
new Product { Id = nextId++, Name = "چنگال استیل", Price = 18000, Stock = 80, Category = "چنگال" },
new Product { Id = nextId++, Name = "پاسماوری طرح کلاسیک", Price = 320000, Stock = 10, Category = "پاسماوری" }
static void DisplayProducts()
Console.WriteLine("\nلیست محصولات فروشگاه لیمون:\n");
Console.WriteLine("ID | نام محصول".PadRight(25) + " | دسته".PadRight(15) + " | قیمت".PadRight(10) + " | موجودی");
Console.WriteLine(new string('-', 65));
foreach (var product in products)
Console.WriteLine($"{product.Id.ToString().PadRight(3)}| {product.Name.PadRight(23)} | {product.Category.PadRight(13)} | {product.Price.ToString("N0").PadRight(8)} | {product.Stock}");
Console.Write("نام محصول جدید: ");
string name = Console.ReadLine();
Console.Write("دسته بندی: ");
string category = Console.ReadLine();
decimal price = decimal.Parse(Console.ReadLine());
Console.Write("موجودی: ");
int stock = int.Parse(Console.ReadLine());
Console.WriteLine($"محصول '{name}' با موفقیت افزوده شد.");
static void RemoveProduct()
Console.Write("شناسه (ID) محصول برای حذف: ");
if (int.TryParse(Console.ReadLine(), out int id))
var product = products.FirstOrDefault(p => p.Id == id);
products.Remove(product);
Console.WriteLine($"محصول '{product.Name}' حذف شد.");
Console.WriteLine("محصولی با این شناسه یافت نشد.");
Console.WriteLine("شناسه نامعتبر!");
static void SearchProducts()
Console.Write("جستجو (نام یا دسته): ");
string query = Console.ReadLine().ToLower();
var results = products.Where(p =>
p.Name.ToLower().Contains(query) ||
p.Category.ToLower().Contains(query)
Console.WriteLine("\nنتایج جستجو:\n");
foreach (var product in results)
Console.WriteLine($"{product.Id} - {product.Name} ({product.Category}) - {product.Price.ToString("N0")} تومان - موجودی: {product.Stock}");
Console.WriteLine("نتیجه•ای یافت نشد.");