Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class Program
- {
- public static void Main(string[] args)
- {
- Shop shop = new Shop();
- shop.ShowStewOutDateExpiration();
- }
- }
- public class Shop
- {
- private Random _random;
- private List<Stew> _stews;
- private int _yearNow;
- public Shop()
- {
- _stews = new List<Stew>();
- _random = new Random();
- _yearNow = 2021;
- CreateStews();
- }
- public void ShowStewOutDateExpiration()
- {
- List<Stew> stewsFiltered = _stews.Where(stew => _yearNow - stew.YearManafacture > stew.DateExpiration)
- .ToList();
- Console.WriteLine("Stew out of date of expiration : ");
- PrintStews(stewsFiltered);
- }
- private void CreateStews()
- {
- string[] names = { "Grodfood", "Snov", "Meatoholic", "Kalinkovichy", "Stolbcy" };
- int stewsAmountMinimum = 10;
- int stewsAmountMaximum = 100;
- int yearMinimum = 1960;
- int yearMaximum = 2021;
- int dateExpirationMinimum = 1;
- int dateExpirationMaximum = 40;
- int amountStews = _random.Next(stewsAmountMinimum, stewsAmountMaximum);
- string name;
- int year;
- int dateExpiration;
- for (int i = 0; i < amountStews; ++i)
- {
- name = names[_random.Next(names.Length)];
- year = _random.Next(yearMinimum, yearMaximum);
- dateExpiration = _random.Next(dateExpirationMinimum, dateExpirationMaximum);
- _stews.Add(new Stew(name, year, dateExpiration));
- }
- }
- private void PrintStews(List<Stew> stews)
- {
- Console.WriteLine();
- foreach (Stew stew in stews)
- Console.WriteLine(stew);
- }
- }
- public class Stew
- {
- public string Name { get; private set; }
- public int YearManafacture { get; private set; }
- public int DateExpiration { get; private set; }
- public Stew(string name, int yearManafacture, int dateExpiration)
- {
- Name = name;
- YearManafacture = yearManafacture;
- DateExpiration = dateExpiration;
- }
- public override string ToString()
- {
- return String.Format($"{Name} stew ({YearManafacture}) - {DateExpiration} years.");
- }
- }
Add Comment
Please, Sign In to add comment