Last active
November 14, 2023 07:45
-
-
Save talatari/df025bb5836295c627bef9e5eb4c2ade to your computer and use it in GitHub Desktop.
Task 56: Weapons Report
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace WeaponsReport | |
{ | |
public static class Program | |
{ | |
public static void Main() | |
{ | |
Army army = new Army(); | |
Database database = new Database(); | |
army.Work(database); | |
} | |
} | |
public class Database | |
{ | |
private readonly List<Soldier> _soldiers = new(); | |
public Database() | |
{ | |
Init(); | |
} | |
public List<Soldier> GetSoldiers() => new(_soldiers); | |
private void Init() | |
{ | |
_soldiers.Add(new Soldier("John", "Handgun", "Sergeant", 12)); | |
_soldiers.Add(new Soldier("William", "Sniper Rifle", "Lieutenant", 10)); | |
_soldiers.Add(new Soldier("David", "Knife", "Common", 8)); | |
_soldiers.Add(new Soldier("Jessica", "Sniper Rifle", "Lieutenant", 20)); | |
_soldiers.Add(new Soldier("Joseph", "Handgun", "Sergeant", 29)); | |
_soldiers.Add(new Soldier("Michael", "Sniper Rifle", "Lieutenant", 35)); | |
_soldiers.Add(new Soldier("Megan", "Knife", "Common", 16)); | |
_soldiers.Add(new Soldier("Angela", "Handgun", "Sergeant", 21)); | |
_soldiers.Add(new Soldier("Richard", "Knife", "Common", 13)); | |
_soldiers.Add(new Soldier("Thomas", "Sniper Rifle", "Lieutenant", 1)); | |
_soldiers.Add(new Soldier("Donald", "Handgun", "Sergeant", 15)); | |
} | |
} | |
public class Soldier | |
{ | |
public Soldier(string name, string weapon, string rank, int serviceTerm) | |
{ | |
Name = name; | |
Weapon = weapon; | |
Rank = rank; | |
ServiceTerm = serviceTerm; | |
} | |
public string Name { get; } | |
public string Weapon { get; } | |
public string Rank { get; } | |
public int ServiceTerm { get; } | |
} | |
public class Army | |
{ | |
private bool _isWork = true; | |
private Database _database; | |
public void Work(Database database) | |
{ | |
_database = database; | |
while (_isWork) | |
{ | |
Console.Clear(); | |
ShowSoldiers(); | |
Console.ReadKey(); | |
} | |
} | |
private void ShowSoldiers() | |
{ | |
var newSoldiers = from soldier in _database.GetSoldiers() | |
select new | |
{ | |
Name = soldier.Name, | |
Rank = soldier.Rank | |
}; | |
Console.WriteLine(); | |
foreach (var newSoldier in newSoldiers) | |
{ | |
Console.WriteLine($"Name: {newSoldier.Name}, " + | |
$"Rank: {newSoldier.Rank}"); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment