krasizorbov

SpaceStation

Jul 24th, 2019
514
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.58 KB | None | 0 0
  1. public class SpaceStation
  2.     {
  3.         List<Astronaut> data;
  4.         public string Name { get; set; }
  5.         public int Capacity { get; set; }
  6.         public int Count => data.Count;
  7.         public SpaceStation(string name, int capacity)
  8.         {
  9.             data = new List<Astronaut>();
  10.             Name = name;
  11.             Capacity = capacity;
  12.         }
  13.  
  14.         public void Add(Astronaut astronaut)
  15.         {
  16.             if (data.Count < Capacity)
  17.             {
  18.                 data.Add(astronaut);
  19.             }
  20.         }
  21.         public bool Remove(string name)
  22.         {
  23.             foreach (var item in data)
  24.             {
  25.                 if (item.Name == name)
  26.                 {
  27.                     data.Remove(item);
  28.                     return true;
  29.                 }
  30.             }
  31.             return false;
  32.         }
  33.         public Astronaut GetOldestAstronaut()
  34.         {
  35.             //return the oldest
  36.             Astronaut astronaut = data.OrderByDescending(x => x.Age).First();
  37.             return astronaut;
  38.         }
  39.         public Astronaut GetAstronaut(string name)
  40.         {
  41.             Astronaut astronaut = data.Where(x => x.Name == name).FirstOrDefault();
  42.             return astronaut;
  43.         }
  44.         public string Report()
  45.         {
  46.             StringBuilder sb = new StringBuilder();
  47.             sb.AppendLine($"Astronauts working at Space Station {Name}:");
  48.             foreach (var item in data)
  49.             {
  50.                 sb.AppendLine(item.ToString());
  51.             }
  52.             return sb.ToString().TrimEnd();
  53.         }
  54.     }
Advertisement
Add Comment
Please, Sign In to add comment