Maxim 12035d5288 linq upd | 8 mesi fa | |
---|---|---|
internet_shop | 8 mesi fa | |
.gitignore | 8 mesi fa | |
internet_shop.sln | 8 mesi fa | |
readme.md | 8 mesi fa |
class Goods
{
public string Name { get;set; }
public int Price { get; set; }
public int Amount { get; set; }
public string category { get; set; }
public Goods(string name, int price, int amount, string category)
{
Name = name;
Price = price;
Amount = amount;
this.category = category;
}
}
class Category
{
public string Title { get; set; }
public Category(string title)
{
Title = title;
}
}
class Seller
{
public string Name { get; set; }
public int Reviews { get; set; }
public List<Goods> GoodsList;
public Seller(string name, int reviews, List<Goods> goodsList)
{
Name = name;
Reviews = reviews;
GoodsList = goodsList;
}
}
class Program
{
static void Main(string[] args)
{
List<Category> categories = new List<Category>()
{
new Category("Brawl"),
new Category("Roblox"),
new Category("Mine"),
new Category("Pubg")
};
List<Goods> goods = new List<Goods>()
{
new Goods("Gems", 100, 37,categories[0].Title),
new Goods("Robux", 200, 5,categories[1].Title),
new Goods("Robux", 300, 25,categories[1].Title),
new Goods("Robux", 100, 50,categories[1].Title),
new Goods("Acc", 2000, 3,categories[2].Title)
};
List<Seller> sellers = new List<Seller>()
{
new Seller("TopSell", 111, new List<Goods>() {goods[0], goods[2]}),
new Seller("GameDealer", 222, new List<Goods>() {goods[1]}),
new Seller("CANE2280", 3178, new List<Goods>() {goods[3]}),
new Seller("SashaB116", 666, new List<Goods>() {goods[4]})
};
List<Tuple<string, string, int, int, string, int>> data =
new List<Tuple<string, string, int, int, string, int>>();
foreach (var sel in sellers)
{
foreach (var selGod in sel.GoodsList)
{
data.Add(new Tuple<string, string, int, int, string, int>(selGod.category, selGod.Name, selGod.Amount, selGod.Price, sel.Name, sel.Reviews));
}
}
while (true)
{
Console.Write("Выберите метод сортировки:\n1. По убыванию\n2. По возрастанию\n>>> ");
int ch0 = Convert.ToInt32(Console.ReadLine());
Console.Write(
"Выберите метод сортировки:\n1. По категории\n2. По количеству\n3. По цене\n4. По отзывам\n>>> ");
int ch = Convert.ToInt32(Console.ReadLine());
IOrderedEnumerable<Tuple<string, string, int, int, string, int>> filData = null;
switch (ch)
{
case 1:
if (ch0 == 2) filData = data.OrderBy(d => d.Item1);
else filData = data.OrderByDescending(d => d.Item1);
break;
case 2:
if (ch0 == 2) filData = data.OrderBy(d => d.Item3);
else filData = data.OrderByDescending(d => d.Item3);
break;
case 3:
if (ch0 == 2) filData = data.OrderBy(d => d.Item4);
else filData = data.OrderByDescending(d => d.Item4);
break;
case 4:
if (ch0 == 2) filData = data.OrderBy(d => d.Item6);
else filData = data.OrderByDescending(d => d.Item6);
break;
}
Console.WriteLine("Категор Предмет Кол-во Цена Продавец Отзывы");
foreach (var i in filData)
{
Console.WriteLine($"{i.Item1}\t {i.Item2}\t {i.Item3}\t {i.Item4}\t {i.Item5}\t {i.Item6}");
}
}
}
}
Результат:
Выберите метод сортировки:
1. По убыванию
2. По возрастанию
>>> 1
Выберите метод сортировки:
1. По категории
2. По количеству
3. По цене
4. По отзывам
>>> 1
Категор Предмет Кол-во Цена Продавец Отзывы
Roblox Robux 25 300 TopSell 111
Roblox Robux 5 200 GameDealer 222
Roblox Robux 50 100 CANE2280 3178
Mine Acc 3 2000 SashaB116 666
Brawl Gems 37 100 TopSell 111
Выберите метод сортировки:
1. По убыванию
2. По возрастанию
>>> 1
Выберите метод сортировки:
1. По категории
2. По количеству
3. По цене
4. По отзывам
>>> 2
Категор Предмет Кол-во Цена Продавец Отзывы
Roblox Robux 50 100 CANE2280 3178
Brawl Gems 37 100 TopSell 111
Roblox Robux 25 300 TopSell 111
Roblox Robux 5 200 GameDealer 222
Mine Acc 3 2000 SashaB116 666
Выберите метод сортировки:
1. По убыванию
2. По возрастанию
>>> 2
Выберите метод сортировки:
1. По категории
2. По количеству
3. По цене
4. По отзывам
>>> 3
Категор Предмет Кол-во Цена Продавец Отзывы
Brawl Gems 37 100 TopSell 111
Roblox Robux 50 100 CANE2280 3178
Roblox Robux 5 200 GameDealer 222
Roblox Robux 25 300 TopSell 111
Mine Acc 3 2000 SashaB116 666
Выберите метод сортировки:
1. По убыванию
2. По возрастанию
>>> 2
Выберите метод сортировки:
1. По категории
2. По количеству
3. По цене
4. По отзывам
>>> 4
Категор Предмет Кол-во Цена Продавец Отзывы
Brawl Gems 37 100 TopSell 111
Roblox Robux 25 300 TopSell 111
Roblox Robux 5 200 GameDealer 222
Mine Acc 3 2000 SashaB116 666
Roblox Robux 50 100 CANE2280 3178
Выберите метод сортировки:
1. По убыванию
2. По возрастанию