Пример #1
0
        public void Test_Common()
        {
            Assert.AreEqual("Иванова Ивана Ивановича", RusDeclension.GetDeclension("Иванов Иван Иванович", DeclensionCase.Genitive));

            Assert.AreEqual("Иванова-Петрова Ивана Ивановича", RusDeclension.GetDeclension("Иванов-Петров Иван Иванович", DeclensionCase.Genitive));

            //Assert.AreEqual("атому", RusDeclension.GetDeclension("атом", DeclensionCase.Dative));
            //Assert.AreEqual("лугу", RusDeclension.GetDeclension("луг", DeclensionCase.Dative));
        }
Пример #2
0
        public string GetPossessiveName(GEDCOMIndividualRecord iRec)
        {
            var nameParts = GKUtils.GetNameParts(iRec);
            var gender    = DeclGenders[(int)iRec.Sex];

            string result  = "";
            string surname = nameParts.Surname.Trim();

            int p = surname.IndexOf('(');

            if (p >= 0)
            {
                string part = surname.Substring(0, p).Trim();
                if (part != "")
                {
                    result  = RusDeclension.GetDeclension(part, DeclensionCase.Genitive, gender, "1", 1);
                    result += " ";
                }
                part = surname.Substring(p).Trim();
                part = part.Substring(1, part.Length - 2);

                result += "(";
                string[] parts = part.Split(',');
                for (int i = 0; i < parts.Length; i++)
                {
                    if (i > 0)
                    {
                        result += "(";
                    }
                    part    = RusDeclension.GetDeclension(parts[i], DeclensionCase.Genitive, gender, "1", 1);
                    result += part;
                }
                result += ")";
            }
            else
            {
                result = RusDeclension.GetDeclension(surname, DeclensionCase.Genitive, gender, "1", 1);
            }

            result += " " + RusDeclension.GetDeclension(nameParts.Name + " " + nameParts.Patronymic, DeclensionCase.Genitive, gender, "23", 2);
            return(result);
        }
Пример #3
0
 public string GetPossessiveName(string name)
 {
     // (genitive) "[the] sailor's / [of the] sailor"
     // (e.g. Сын моряка — художник – the sailor's son is an artist)
     return(RusDeclension.GetDeclension(name, DeclensionCase.Genitive));
 }