Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Ijunior
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Inspector inspector = new Inspector();
- inspector.Work();
- }
- }
- class Inspector
- {
- private Database _database = new Database();
- public void Work()
- {
- Console.WriteLine("Список просроченной тушенки: ");
- FindSpoiled();
- }
- private void FindSpoiled()
- {
- int currenYear = 2024;
- var spoiledTinnedMeat = _database.TinnedMeat.Where(tinnedMeat =>
- tinnedMeat.Year + tinnedMeat.ExpirationDate <= currenYear).ToList();
- if (spoiledTinnedMeat.Count > 0)
- ShowTinnedMeat(spoiledTinnedMeat);
- else
- Console.WriteLine("Просроченной тушенки нет");
- }
- private void ShowTinnedMeat(List<TinnedMeat> tinnedMeat)
- {
- foreach (TinnedMeat tin in tinnedMeat)
- {
- Console.WriteLine($"{tin.Name} - выпущена {tin.Year}, срок годности {tin.ExpirationDate} года, " +
- $"нужно было употребить до конца {tin.Year + tin.ExpirationDate}");
- }
- }
- }
- class Database
- {
- private List<TinnedMeat> _tinnedMeat;
- public Database()
- {
- _tinnedMeat = new List<TinnedMeat>();
- AddTinnedMeat();
- }
- public List<TinnedMeat> TinnedMeat => _tinnedMeat.ToList();
- private void AddTinnedMeat()
- {
- _tinnedMeat.Add(new TinnedMeat("Дары полей", GenerateYear(), 3));
- _tinnedMeat.Add(new TinnedMeat("Дары полей", GenerateYear(), 3));
- _tinnedMeat.Add(new TinnedMeat("Дары полей", GenerateYear(), 3));
- _tinnedMeat.Add(new TinnedMeat("Сытный вар", GenerateYear(), 4));
- _tinnedMeat.Add(new TinnedMeat("Сытный вар", GenerateYear(), 4));
- _tinnedMeat.Add(new TinnedMeat("Сытный вар", GenerateYear(), 4));
- _tinnedMeat.Add(new TinnedMeat("Деликатес охотника", GenerateYear(), 5));
- _tinnedMeat.Add(new TinnedMeat("Деликатес охотника", GenerateYear(), 5));
- _tinnedMeat.Add(new TinnedMeat("Деликатес охотника", GenerateYear(), 5));
- }
- private int GenerateYear()
- {
- int minYear = 2014;
- int maxYear = 2024;
- return Utils.GetRandomNumber(minYear, maxYear);
- }
- }
- class TinnedMeat
- {
- public TinnedMeat(string name, int year, int expirationDate)
- {
- Name = name;
- Year = year;
- ExpirationDate = expirationDate;
- }
- public string Name { get; }
- public int Year { get; }
- public int ExpirationDate { get; }
- }
- class Utils
- {
- private static Random s_random = new Random();
- public static int GetRandomNumber(int minValue, int maxValue)
- {
- return s_random.Next(minValue, maxValue);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment