コード例 #1
0
ファイル: CategoryNames.cs プロジェクト: paulghill/DMData
 public CategoryNames(NameCategoryType categoryType, IReadOnlyList <string> femaleNames, IReadOnlyList <string> maleNames)
 {
     this.Category    = categoryType;
     this.HasSurnames = false;
     this.FemaleNames = femaleNames;
     this.MaleNames   = maleNames;
 }
コード例 #2
0
ファイル: RandomName.cs プロジェクト: paulghill/DMData
 public RandomName(NameCategoryType nameCategoryType, NameGenderType nameGenderType, string givenName, string surname)
 {
     this.Category  = nameCategoryType;
     this.Gender    = nameGenderType;
     this.GivenName = givenName;
     this.Surname   = surname;
 }
コード例 #3
0
ファイル: NamesManagement.cs プロジェクト: paulghill/DMData
        public static RandomName GetRandomName(NameCategoryType category, NameGenderType gender)
        {
            NameGenderType selectedGender;

            var givenName       = "";
            var surname         = "";
            var randomGenerator = new Random();
            var categoryData    = NamesManagement.NameData.Where(a => a.Category == category).FirstOrDefault();

            if (gender == NameGenderType.Unisex)
            {
                if (randomGenerator.Next(2) == 0)
                {
                    selectedGender = NameGenderType.Female;
                }
                else
                {
                    selectedGender = NameGenderType.Male;
                }
            }
            else
            {
                selectedGender = gender;
            }

            if (selectedGender == NameGenderType.Female)
            {
                givenName = categoryData.FemaleNames[randomGenerator.Next(categoryData.FemaleNames.Count)];
            }
            else
            {
                givenName = categoryData.MaleNames[randomGenerator.Next(categoryData.MaleNames.Count)];
            }

            if (categoryData.HasSurnames)
            {
                surname = categoryData.Surnames[randomGenerator.Next(categoryData.Surnames.Count)];
            }

            return(new RandomName(category, selectedGender, givenName, surname));
        }
コード例 #4
0
ファイル: NamesManagement.cs プロジェクト: paulghill/DMData
 public static RandomName GetRandomName(NameCategoryType category)
 {
     return(GetRandomName(category, NameGenderType.Unisex));
 }