C# 商品管理システム

using System;
using System.Collections.Generic;
using System.Linq;

namespace ProductManagementSystem
{
    class Program
    {
        static void Main(string[] args)
        {
            ProductManager manager = new ProductManager();
            manager.SeedProducts();  // 初期データを挿入

            // サンプル操作
            manager.AddProduct("新しい商品", "電化製品", 5, 1500);
            manager.DisplayAllProducts();
            manager.DeleteProduct("商品1");
            manager.UpdateQuantity("商品2", 15);
            manager.DisplayProductsByCategory("食品");
        }
    }

    public class Product
    {
        public string Name { get; set; }
        public string Category { get; set; }
        public int Quantity { get; set; }
        public decimal Price { get; set; }

        public Product(string name, string category, int quantity, decimal price)
        {
            Name = name;
            Category = category;
            Quantity = quantity;
            Price = price;
        }
    }

    public class ProductManager
    {
        private List<Product> Products = new List<Product>();

        public void AddProduct(string name, string category, int quantity, decimal price)
        {
            Products.Add(new Product(name, category, quantity, price));
        }

        public void DeleteProduct(string name)
        {
            var product = Products.FirstOrDefault(p => p.Name == name);
            if (product != null)
            {
                Products.Remove(product);
            }
        }

        public void UpdateQuantity(string name, int quantity)
        {
            var product = Products.FirstOrDefault(p => p.Name == name);
            if (product != null)
            {
                product.Quantity = quantity;
            }
        }

        public void DisplayAllProducts()
        {
            foreach (var product in Products)
            {
                Console.WriteLine($"商品名: {product.Name}, 分類: {product.Category}, 個数: {product.Quantity}, 金額: {product.Price}円");
            }
        }

        public void DisplayProductsByCategory(string category)
        {
            var filteredProducts = Products.Where(p => p.Category == category);
            foreach (var product in filteredProducts)
            {
                Console.WriteLine($"商品名: {product.Name}, 個数: {product.Quantity}, 金額: {product.Price}円");
            }
        }

        // 初期データの挿入
        public void SeedProducts()
        {
            Products.Add(new Product("商品1", "食品", 20, 100));
            Products.Add(new Product("商品2", "食品", 30, 200));
            Products.Add(new Product("商品3", "家具", 5, 1500));
            Products.Add(new Product("商品4", "家具", 10, 2500));
            Products.Add(new Product("商品5", "電化製品", 15, 750));
            Products.Add(new Product("商品6", "電化製品", 10, 450));
            Products.Add(new Product("商品7", "書籍", 20, 300));
            Products.Add(new Product("商品8", "書籍", 20, 500));
            Products.Add(new Product("商品9", "ファッション", 30, 800));
            Products.Add(new Product("商品10", "ファッション", 25, 600));
        }
    }
}

この記事が気に入ったらサポートをしてみませんか?