private static string Start() { var initialMessageContainer = MessageContainer.GetMessagesFor("start"); var initialMessage = initialMessageContainer.ElementAt(0); var builder = new StringBuilder(initialMessage); var index = 0; foreach (var availableCipher in AvailableCiphers.CipherAvailableType) { builder.Append(Environment.NewLine); builder.Append($"{index++} - {availableCipher}"); } Printer.Print(builder.ToString()); var chosenCipher = Reader.Read <int>(); return(AvailableCiphers.CipherAvailableType[chosenCipher]); }
public static Storage ConstructMessage(string key = null, Storage storage = null) { Storage currentStorage = null; if (key == null && storage == null) { key = Start(); currentStorage = new Storage { ChosenCipher = key, Values = new Encrypted(), AffineKeys = new Common.Model.Keys.AffineKeys() }; } else { currentStorage = storage; } var messages = MessageContainer.GetMessagesFor(key); switch (key) { case "affine": GetInputForAffineCipher(messages, currentStorage); GetInputFor(currentStorage); break; default: GetInputFor(currentStorage); break; } return(currentStorage); }