547c51ca3c
В сообщениях «не найден руководитель типа DirectionHead» и в конфликте ролей шага пользователь видел имена enum'ов. Теперь везде русские названия из общего справочника StepLabels (его же использует выгрузка маршрутов): «Не найден руководитель «Руководитель направления»: не указан у инициатора в справочнике сотрудников». Для директора Tansu и управляющего директора, которые берутся из настроек сервиса, — «Не проставлен «…»: email не задан в настройках сервиса». Так же исправлены ошибки о дубле шага с типом руководителя. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
33 lines
1.6 KiB
C#
33 lines
1.6 KiB
C#
using Tnsu.ApprovalRoute.Domain.Enums;
|
||
|
||
namespace Tnsu.ApprovalRoute.Application.Common;
|
||
|
||
/// <summary>
|
||
/// Русские названия типов руководителя и ролей в проекте — для всего, что видит
|
||
/// человек: предупреждения резолва, ошибки валидации, выгрузка маршрутов. Имя
|
||
/// enum'а («DirectionHead») в тексте для пользователя недопустимо.
|
||
/// </summary>
|
||
public static class StepLabels
|
||
{
|
||
public static string Of(HeadType headType) => headType switch
|
||
{
|
||
HeadType.Chief => "Непосредственный руководитель",
|
||
HeadType.DirectionHead => "Руководитель направления",
|
||
HeadType.DirectorTansu => "Директор Tansu",
|
||
HeadType.ManagingDirectorTansu => "Управляющий директор Tansu",
|
||
HeadType.DepartmentHead => "Руководитель указанного отдела",
|
||
HeadType.CompanyDirectors => "Директора компаний инициатора",
|
||
_ => headType.ToString()
|
||
};
|
||
|
||
public static string Of(ProjectRole projectRole) => projectRole switch
|
||
{
|
||
ProjectRole.ProjectManager => "Руководитель проекта",
|
||
ProjectRole.Planner => "Планировщик",
|
||
ProjectRole.ManagerHSE => "Менеджер HSE",
|
||
ProjectRole.Security => "Безопасность",
|
||
ProjectRole.Keeper => "Заведующий склада",
|
||
_ => projectRole.ToString()
|
||
};
|
||
}
|