Projekt

Obecné

Profil

Stáhnout (1.2 KB) Statistiky
| Větev: | Tag: | Revize:
1 9cc42e60 Eliška Mourycová
//
2
// Author: Eliska Mourycova
3
//
4
5 4129ce12 Eliška Mourycová
using System.Collections.Generic;
6
7
namespace ServerApp.User
8
{
9 9cc42e60 Eliška Mourycová
	/// <summary>
10
	/// This class represents a command input by the admin
11
	/// </summary>
12 4129ce12 Eliška Mourycová
	public class Command
13
	{
14 9cc42e60 Eliška Mourycová
		/// <summary>
15
		/// The whole string input
16
		/// </summary>
17 c4383c00 Eliška Mourycová
		public string WholeCommand { get; set; }
18 9cc42e60 Eliška Mourycová
19
		/// <summary>
20
		/// The main part of the command
21
		/// </summary>
22 4129ce12 Eliška Mourycová
		public string MainCommand { get; set; }
23 9cc42e60 Eliška Mourycová
24
		/// <summary>
25
		/// The flags and data associated with the command
26
		/// </summary>
27 4129ce12 Eliška Mourycová
		public Dictionary<string, List<string>> FlagsAndData { get; }
28 9cc42e60 Eliška Mourycová
29
		// the last flag used
30 4129ce12 Eliška Mourycová
		private string lastFlag;
31
32
		public Command()
33
		{
34
			MainCommand = "";
35
			FlagsAndData = new Dictionary<string, List<string>>();
36
			lastFlag = "";
37
		}
38
39 9cc42e60 Eliška Mourycová
		/// <summary>
40
		/// Adds a flag to the dictionary
41
		/// </summary>
42
		/// <param name="flag">The flag to add</param>
43 4129ce12 Eliška Mourycová
		public void AddFlag(string flag)
44
		{
45
			FlagsAndData.Add(flag, new List<string>());
46
			lastFlag = flag;
47
		}
48
49 9cc42e60 Eliška Mourycová
		/// <summary>
50
		/// Adds data after a flag
51
		/// </summary>
52
		/// <param name="data">The data to add</param>
53 4129ce12 Eliška Mourycová
		public void AddData(string data)
54
		{
55 9cc42e60 Eliška Mourycová
			if(FlagsAndData.ContainsKey(lastFlag))
56
				FlagsAndData[lastFlag].Add(data);
57 4129ce12 Eliška Mourycová
		}
58
	}
59
}