public static Decision GetNationalityDecision(Dictionary <int, IDecision> branches = null) { // default param branches = branches ?? new Dictionary <int, IDecision> { }; // Code // question and decision Action <IDecision, IDecision> question = (d, a) => { var decision = d as NationalityDecision; var answer = a as NationalityDecision; if (decision != null) { // ask question //var typ = decision.GetType(); //var typnm = typ.ToString(); var branchChoice = 0; if (answer != null) { // automapper decision.NationalityEnum = answer.NationalityEnum; decision.Result = answer.Result; } else { Console.WriteLine("{0}", decision.Question); var ans = Console.ReadLine() ?? string.Empty; branchChoice = Convert.ToInt32(ans); // assign/calculate properties of the decision decision.NationalityEnum = (NationalityEnum)branchChoice; //decision.Amount = 0f; // assign branch choice given users answers decision.Result = branchChoice; } } }; var retd = new NationalityDecision { Question = string.Format("[/1] {0} ?", Enum <NationalityEnum> .EnumsStringSummary()), Mutator = question, Branches = branches }; // Return return(retd); }
public static Decision GetNationalityDecision(Dictionary<int, IDecision> branches = null) { // default param branches = branches ?? new Dictionary<int, IDecision> { }; // Code // question and decision Action<IDecision, IDecision> question = (d, a) => { var decision = d as NationalityDecision; var answer = a as NationalityDecision; if (decision != null) { // ask question //var typ = decision.GetType(); //var typnm = typ.ToString(); var branchChoice = 0; if (answer != null) { // automapper decision.NationalityEnum = answer.NationalityEnum; decision.Result = answer.Result; } else { Console.WriteLine("{0}", decision.Question); var ans = Console.ReadLine() ?? string.Empty; branchChoice = Convert.ToInt32(ans); // assign/calculate properties of the decision decision.NationalityEnum = (NationalityEnum)branchChoice; //decision.Amount = 0f; // assign branch choice given users answers decision.Result = branchChoice; } } }; var retd = new NationalityDecision { Question = string.Format("[/1] {0} ?", Enum<NationalityEnum>.EnumsStringSummary()), Mutator = question, Branches = branches }; // Return return retd; }