/// <summary> /// Получить ФИО в указанном падеже. /// </summary> /// <param name="declensionCase">Падеж.</param> /// <returns>ФИО в указанном падеже.</returns> public virtual Structures.Employee.PersonFullName GetFullNameInDeclension(Sungero.Core.DeclensionCase declensionCase) { var fullName = CommonLibrary.PersonFullName.Create(_obj.Person.LastName, _obj.Person.FirstName, _obj.Person.MiddleName); var gender = CommonLibrary.Gender.NotDefined; if (_obj.Person.Sex != null) { gender = _obj.Person.Sex == Sungero.Parties.Person.Sex.Female ? CommonLibrary.Gender.Feminine : CommonLibrary.Gender.Masculine; } // Для фамилий типа Ардо (Иванова) неправильно склоняется через API. Баг 32895. var fullNameInDeclension = CommonLibrary.Padeg.ConvertPersonFullNameToTargetDeclension(fullName, (CommonLibrary.DeclensionCase)(int) declensionCase, gender); var lastName = fullNameInDeclension.LastName; var firstName = fullNameInDeclension.FirstName; var middleName = string.IsNullOrWhiteSpace(_obj.Person.MiddleName) ? string.Empty : fullNameInDeclension.MiddleName; return(Structures.Employee.PersonFullName.Create(lastName, firstName, middleName)); }
public static string GetJobTitle(IEmployee employee, Sungero.Core.DeclensionCase declensionCase) { if (employee == null) { return(string.Empty); } if (employee.JobTitle == null) { return(string.Empty); } return(CaseConverter.ConvertJobTitleToTargetDeclension(employee.JobTitle.Name, declensionCase)); }
public virtual string GetShortName(Sungero.Core.DeclensionCase declensionCase, bool platformLogic) { var fullNameInDeclension = Functions.Employee.GetFullNameInDeclension(_obj, declensionCase); var lastName = fullNameInDeclension.LastName; var firstName = fullNameInDeclension.FirstName; var middleName = fullNameInDeclension.MiddleName; // ФИО в формате "Фамилия И.О." или "Фамилия Имя". Аналогично платформенной логике построения краткого имени в переписке. if (platformLogic && string.IsNullOrEmpty(_obj.Person.MiddleName)) { using (TenantInfo.Culture.SwitchTo()) return(Sungero.Parties.People.Resources.FullNameWithoutMiddleFormat(firstName, lastName)); } return(Parties.PublicFunctions.Person.GetSurnameAndInitialsInTenantCulture(firstName, middleName, lastName)); }
public virtual string GetFullName(Sungero.Core.DeclensionCase declensionCase) { var gender = CommonLibrary.Gender.NotDefined; if (_obj.Sex != null) { gender = _obj.Sex == Sungero.Parties.Person.Sex.Female ? CommonLibrary.Gender.Feminine : CommonLibrary.Gender.Masculine; } // Для фамилий типа Ардо (Иванова) неправильно склоняется через API. Баг 32895. var fullName = CommonLibrary.PersonFullName.Create(_obj.LastName, _obj.FirstName, _obj.MiddleName); var fullNameInDeclension = CommonLibrary.Padeg.ConvertPersonFullNameToTargetDeclension(fullName, (CommonLibrary.DeclensionCase)(int) declensionCase, gender); var middleName = string.IsNullOrWhiteSpace(_obj.MiddleName) ? string.Empty : fullNameInDeclension.MiddleName; using (TenantInfo.Culture.SwitchTo()) return(Sungero.Parties.People.Resources.FullNameFormat(fullNameInDeclension.FirstName, middleName, fullNameInDeclension.LastName, "\u00A0")); }