Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using OlympicGames.Core.Commands.Abstracts;
- using OlympicGames.Core.Contracts;
- namespace OlympicGames.Core.Commands
- {
- public class ListOlympiansCommand : Command
- {
- public ListOlympiansCommand(IList<string> commandLine, IOlympicCommittee committee)
- : base(commandLine, committee)
- {
- }
- public override string Execute()
- {
- if (this.Committee.Olympians.Count != 0)
- {
- var defaultOrder = this.Committee.Olympians.OrderBy(x => x.FirstName).ToList();
- if (this.CommandParameters.Count > 0)
- {
- if (this.CommandParameters[0] == "lastname")
- defaultOrder = defaultOrder.OrderBy(c => c.LastName).ToList();
- if (this.CommandParameters[0] == "country")
- defaultOrder = defaultOrder.OrderBy(c => c.Country).ToList();
- }
- if (this.CommandParameters.Count > 1)
- {
- if (this.CommandParameters[1] == "desc")
- defaultOrder.Reverse();
- }
- StringBuilder printer = new StringBuilder();
- foreach (var item in defaultOrder)
- {
- printer.Append(item.Print());
- }
- return printer.ToString();
- }
- else
- return "NO OLYMPIANS ADDED";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment