public ActionResult <string> GetDecrypt(string method, string str, string key) { try { if (method == "caesar") { Caesar caesar = new Caesar(); var result = caesar.Decode(str, key); if (result.Item2 == true) { SaveDecryptItems(method, str, key, result.Item1); return(result.Item1); } } else if (method == "railfence") { RailFence railFence = new RailFence(); var result = railFence.Decode(str, key); if (result.Item2 == true) { SaveDecryptItems(method, str, key, result.Item1); return(result.Item1); } } else if (method == "affine") { Affine affine = new Affine(); var result = affine.Decode(str, key); if (result.Item2 == true) { SaveDecryptItems(method, str, key, result.Item1); return(result.Item1); } } else if (method == "substitution") { Substitution substitution = new Substitution(); var result = substitution.Decode(str, key); if (result.Item2 == true) { SaveDecryptItems(method, str, key, result.Item1); return(result.Item1); } } } catch (System.Exception e) { return(e.Message); } return("No such method!"); }