private static void AddExsistingTrait(Person selectedPerson, TraitRepository traitRepository, PersonRepository personRepository, GenotypeRepository genotypeRepository, RealRandomNumberGenerator rng, GeneticCounsellorDbContext context) { Console.Clear(); Console.WriteLine("Already exsisting Traits:"); int num = 0; foreach (var t in traitRepository.ListTraits()) { Console.WriteLine(num + ") " + t); num++; } Console.WriteLine("Select a trait from the list:"); int traitIndex = Convert.ToInt32(Console.ReadLine()); var allTraits = traitRepository.ListTraits(); Trait chosenTrait = allTraits[traitIndex]; selectedPerson.AddTraitToPerson(chosenTrait); Console.WriteLine("Select which genotype to add to person:"); chosenTrait.GenerateGenotypesForATrait(genotypeRepository); AddExsistingGenotype(traitRepository, selectedPerson, genotypeRepository, personRepository, rng, context); context.SaveChanges(); PersonScreen(traitRepository, selectedPerson, personRepository, genotypeRepository, rng, context); }
private static void ListAllTraitsScreen(StringBuilder sb2, TraitRepository traitRepository) { Console.Clear(); var ListOfTraits = traitRepository.ListTraits(); int i = 0; if (ListOfTraits.Count == 0) { sb2.AppendLine("There are no Traits in this system, please add one."); sb2.AppendLine("____________________________________________________"); } else { foreach (var t in ListOfTraits) { i++; sb2.AppendLine(i + ") " + t.ToString()); } } }
private static Trait FindTraitByIndex(TraitRepository traitRepository) //Ru-used in multiple aspects of the code: very important { Console.WriteLine("_________________________________________________"); Console.Write("Enter a Trait Index No. :"); try { var ListOftraits = traitRepository.ListTraits(); int index = Convert.ToInt32(Console.ReadLine()); Trait SelectedTrait = ListOftraits[index - 1]; return(SelectedTrait); } catch (IndexOutOfRangeException) { Console.WriteLine("Not a valid index"); return(null); } catch (FormatException) { Console.WriteLine("Not a number"); return(null); } }