Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Clones
- {
- public class Clon
- {
- public List<string> izucheniecomand = new List<string>();
- public List<string> otcati = new List<string>();
- public bool cloneli = false;
- }
- public class CloneVersionSystem : ICloneVersionSystem
- {
- public Dictionary<string, Clon> dictionary = new Dictionary<string, Clon>() { { "1", new Clon() } };
- public string Execute(string query)
- {
- var array = query.Split(' ');
- if (!(dictionary.ContainsKey(array[1])))
- return null;
- switch (array[0])
- {
- case "learn":
- if (dictionary[array[1]].izucheniecomand.Contains(array[2])) break;
- dictionary[array[1]].izucheniecomand.Add(array[2]);
- break;
- case "rollback":
- if (dictionary[array[1]].izucheniecomand.Count == 0) break;
- dictionary[array[1]].otcati.Add((dictionary[array[1]].izucheniecomand[dictionary[array[1]].izucheniecomand.Count - 1]));
- dictionary[array[1]].izucheniecomand.RemoveAt(dictionary[array[1]].izucheniecomand.Count - 1);
- break;
- case "clone":
- if (dictionary[array[1]].cloneli == true) break;
- dictionary.Add((int.Parse(array[1]) + 1).ToString(), new Clon());
- dictionary[(int.Parse(array[1]) + 1).ToString()].izucheniecomand = new List<string>(dictionary[array[1]].izucheniecomand);
- dictionary[(int.Parse(array[1]) + 1).ToString()].otcati = new List<string>(dictionary[array[1]].otcati);
- dictionary[array[1]].cloneli = true;
- break;
- case "check":
- if (dictionary[array[1]].izucheniecomand.Count == 0) return "basic";
- else return dictionary[array[1]].izucheniecomand[dictionary[array[1]].izucheniecomand.Count - 1];
- }
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement