Skip to content

Instantly share code, notes, and snippets.

@talatari
Last active November 14, 2023 07:45
Show Gist options
  • Save talatari/df025bb5836295c627bef9e5eb4c2ade to your computer and use it in GitHub Desktop.
Save talatari/df025bb5836295c627bef9e5eb4c2ade to your computer and use it in GitHub Desktop.
Task 56: Weapons Report
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