nassss

Untitled

Feb 1st, 2020
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Text;
  4. using OlympicGames.Core.Commands.Abstracts;
  5. using OlympicGames.Core.Contracts;
  6.  
  7. namespace OlympicGames.Core.Commands
  8. {
  9. public class ListOlympiansCommand : Command
  10. {
  11. public ListOlympiansCommand(IList<string> commandLine, IOlympicCommittee committee)
  12. : base(commandLine, committee)
  13. {
  14. }
  15.  
  16. public override string Execute()
  17. {
  18. if (this.Committee.Olympians.Count != 0)
  19. {
  20. var defaultOrder = this.Committee.Olympians.OrderBy(x => x.FirstName).ToList();
  21. if (this.CommandParameters.Count > 0)
  22. {
  23. if (this.CommandParameters[0] == "lastname")
  24. defaultOrder = defaultOrder.OrderBy(c => c.LastName).ToList();
  25. if (this.CommandParameters[0] == "country")
  26. defaultOrder = defaultOrder.OrderBy(c => c.Country).ToList();
  27. }
  28. if (this.CommandParameters.Count > 1)
  29. {
  30. if (this.CommandParameters[1] == "desc")
  31. defaultOrder.Reverse();
  32. }
  33.  
  34. StringBuilder printer = new StringBuilder();
  35. foreach (var item in defaultOrder)
  36. {
  37. printer.Append(item.Print());
  38. }
  39. return printer.ToString();
  40. }
  41. else
  42. return "NO OLYMPIANS ADDED";
  43. }
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment