Exemple #1
0
        public string SpokenCelestialList(List <Celestial> celestials)
        {
            string script = string.Empty;

            var celestialsByCategory = celestials.GroupBy(c => c.Classification)
                                       .ToDictionary(grp => grp.Key, grp => grp.ToList());

            int counter = 0;

            foreach (var item in celestialsByCategory)
            {
                counter++;

                if (counter == celestialsByCategory.Count() && celestialsByCategory.Count() > 1)
                {
                    script += $"{_andPhrase} ";
                }

                string pluralized = item.Value.Count() == 1 ? string.Empty : _pluralPhrase;

                script += $"{item.Value.Count()} {_celestialValues.NameFromClassification(item.Key)}{pluralized}, ";
            }

            return(script);
        }
Exemple #2
0
 internal static string LongClassification(this Celestial celestial, CelestialValues values)
 {
     return(values.NameFromClassification(celestial.Classification));
 }