Beispiel #1
0
        public static string Decline(string FullName, Padeg padeg)
        {
            nc.FullReset();
            String tmp = nc.Q(FullName, padeg);

            return(tmp);
        }
Beispiel #2
0
 /// <summary>
 /// Выполняет склонение фамилии
 /// </summary>
 /// <param name="name">Фамилия</param>
 /// <param name="caseNum">Падеж</param>
 /// <param name="gender">Пол</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public String QFatherName(String name, Padeg caseNum, Gender gender)
 {
     FullReset();
     SetFatherName(name);
     if (gender != Gender.Null)
     {
         SetGender(gender);
     }
     return(GetFatherNameCase(caseNum));
 }
Beispiel #3
0
        /// <summary>
        /// Соединяет все слова, имеющиеся в системе, в одну строку в определенном падеже
        /// </summary>
        /// <param name="caseNum">Падеж</param>
        /// <returns>Соединённая строка</returns>
        private string ConnectedCase(Padeg caseNum)
        {
            string result = "";

            for (int i = 0; i < _words.Length; i++)
            {
                result += _words.GetWord(i).GetNameCase(caseNum) + " ";
            }
            return(result.TrimEnd());
        }
Beispiel #4
0
 /// <summary>
 /// Выполняет склонение отчества
 /// </summary>
 /// <param name="patrName">Отчество</param>
 /// <param name="caseNum">Падеж</param>
 /// <param name="gender">Пол</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public string QPatrName(string patrName, Padeg caseNum, Gender gender)
 {
     FullReset();
     SetPatrName(patrName);
     if (gender != Gender.Null)
     {
         SetGender(gender);
     }
     return(GetPatrNameCase(caseNum));
 }
Beispiel #5
0
 /// <summary>
 /// Выполняет склонение полного имени
 /// </summary>
 /// <param name="fullName">Полное имя</param>
 /// <param name="caseNum">Падеж</param>
 /// <param name="gender">Пол</param>
 /// <returns>Строка в указаном падеже</returns>
 public string Q(string fullName, Padeg caseNum, Gender gender)
 {
     FullReset();
     SplitFullName(fullName);
     if (gender != Gender.Null)
     {
         SetGender(gender);
     }
     AllWordCases();
     return(ConnectedCase(caseNum));
 }
Beispiel #6
0
 /// <summary>
 /// Выполняет склонение фамилии
 /// </summary>
 /// <param name="name">Фамилия</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public String QSecondName(String name, Padeg caseNum)
 {
     return(QSecondName(name, caseNum, Gender.Null));
 }
Beispiel #7
0
 /// <summary>
 /// Соединяет все слова которые есть в системе в одну строку в определенном падеже
 /// </summary>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Соедененая строка</returns>
 private String ConnectedCase(Padeg caseNum)
 {
     int length = words.Length;
     String result = "";
     for (int i = 0; i < length; i++)
     {
         result += words.GetWord(i).GetNameCase(caseNum) + " ";
     }
     return result.TrimEnd();
 }
Beispiel #8
0
 /// <summary>
 /// Выполняет склонение фамилии
 /// </summary>
 /// <param name="name">Фамилия</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public String QFatherName(String name, Padeg caseNum)
 {
     return(QFatherName(name, caseNum, Gender.Null));
 }
Beispiel #9
0
 /// <summary>
 /// Выполняет склонение отчества
 /// </summary>
 /// <param name="patrName">Отчество</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public string QPatrName(string patrName, Padeg caseNum)
 {
     return(QPatrName(patrName, caseNum, Gender.Null));
 }
Beispiel #10
0
 /// <summary>
 /// Выполняет склонение имени
 /// </summary>
 /// <param name="name">Имя</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Имя в указаном падеже</returns>
 public string QName(string name, Padeg caseNum)
 {
     return(QName(name, caseNum, Gender.Null));
 }
Beispiel #11
0
 /// <summary>
 /// Выполняет склонение фамилии
 /// </summary>
 /// <param name="surName">Фамилия</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public string QSurName(string surName, Padeg caseNum)
 {
     return(QSurName(surName, caseNum, Gender.Null));
 }
Beispiel #12
0
 /// <summary>
 /// Выполняет склонение имени
 /// </summary>
 /// <param name="firstName">Имя</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Имя в указаном падеже</returns>
 public String QFirstName(String firstName, Padeg caseNum)
 {
     return(QFirstName(firstName, caseNum, Gender.Null));
 }
Beispiel #13
0
 /// <summary>
 /// Возвращает отчество в определенном падеже
 /// </summary>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Отчество в определенном падеже</returns>
 public string GetPatrNameCase(Padeg caseNum)
 {
     AllWordCases();
     return(_words.GetByFioPart(FioPart.PatrName).GetNameCase(caseNum));
 }
Beispiel #14
0
 /// <summary>
 /// Выполняет склонение полного имени
 /// </summary>
 /// <param name="fullName">Полное имя</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Строка в указаном падеже</returns>
 public string Q(string fullName, Padeg caseNum)
 {
     return(Q(fullName, caseNum, Gender.Null));
 }
Beispiel #15
0
 /// <summary>
 /// Возвращает строку с нужным падежом текущего слова
 /// </summary>
 /// <param name="padeg">нужный падеж</param>
 /// <returns>строка с нужным падежом текущего слова</returns>
 public String GetNameCase(Padeg padeg)
 {
     return nameCases[(int)padeg];
 }
Beispiel #16
0
 /// <summary>
 /// Выполняет склонение фамилии
 /// </summary>
 /// <param name="name">Фамилия</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public String QFatherName(String name, Padeg caseNum)
 {
     return QFatherName(name, caseNum, Gender.Null);
 }
Beispiel #17
0
 /// <summary>
 /// Выполняет склонение фамилии
 /// </summary>
 /// <param name="name">Фамилия</param>
 /// <param name="caseNum">Падеж</param>
 /// <param name="gender">Пол</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public String QFatherName(String name, Padeg caseNum, Gender gender)
 {
     FullReset();
     SetFatherName(name);
     if (gender != Gender.Null)
     {
         SetGender(gender);
     }
     return GetFatherNameCase(caseNum);
 }
Beispiel #18
0
 /// <summary>
 /// Выполняет склонение фамилии
 /// </summary>
 /// <param name="name">Фамилия</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Фамилия в указаном падеже</returns>
 public String QSecondName(String name, Padeg caseNum)
 {
     return QSecondName(name, caseNum, Gender.Null);
 }
Beispiel #19
0
 /// <summary>
 /// Выполняет склонение имени
 /// </summary>
 /// <param name="firstName">Имя</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Имя в указаном падеже</returns>
 public String QFirstName(String firstName, Padeg caseNum)
 {
     return QFirstName(firstName, caseNum, Gender.Null);
 }
Beispiel #20
0
 /// <summary>
 /// Возвращает отчество в определенном падеже
 /// </summary>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Отчество в определенном падеже</returns>
 public String GetFatherNameCase(Padeg caseNum)
 {
     AllWordCases();
     return words.GetByNamePart(NamePart.FatherName).GetNameCase(caseNum);
 }
Beispiel #21
0
 /// <summary>
 /// Выполняет склонение полного имени
 /// </summary>
 /// <param name="fullName">Полное имя</param>
 /// <param name="caseNum">Падеж</param>
 /// <param name="gender">Пол</param>
 /// <returns>Строка в указаном падеже</returns>
 public String Q(String fullName, Padeg caseNum, Gender gender)
 {
     FullReset();
     SplitFullName(fullName);
     if (gender != Gender.Null)
     {
         SetGender(gender);
     }
     AllWordCases();
     return ConnectedCase(caseNum);
 }
Beispiel #22
0
 /// <summary>
 /// Выполняет склонение полного имени
 /// </summary>
 /// <param name="fullName">Полное имя</param>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Строка в указаном падеже</returns>
 public String Q(String fullName, Padeg caseNum)
 {
     return Q(fullName, caseNum, Gender.Null);
 }
Beispiel #23
0
 /// <summary>
 /// Возвращает строку с нужным падежом текущего слова
 /// </summary>
 /// <param name="padeg">нужный падеж</param>
 /// <returns>строка с нужным падежом текущего слова</returns>
 public String GetNameCase(Padeg padeg)
 {
     return(nameCases[(int)padeg]);
 }
Beispiel #24
0
 /// <summary>
 /// Возвращает отчество в определенном падеже
 /// </summary>
 /// <param name="caseNum">Падеж</param>
 /// <returns>Отчество в определенном падеже</returns>
 public String GetFatherNameCase(Padeg caseNum)
 {
     AllWordCases();
     return(words.GetByNamePart(NamePart.FatherName).GetNameCase(caseNum));
 }