using CoreModels.ModelsSecurity; using ToolsModule.Attributes; using ToolsModule.Enums; using ToolsModule.ViewModels; using System; namespace SecurityContract.ViewModels { /// /// Список достпуов /// public class AccessListViewModel : ListViewModel { } /// /// Элемент доступа /// [ViewModelControlElementClass()] public class AccessViewModel : ElementViewModel, IAccessModel { [ViewModelControlElementProperty("Роль", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = true, ControlTypeObject = "SecurityWindowsDesktop.EntityControls.ControlRoleList, SecurityWindowsDesktop")] public Guid RoleId { get; set; } [ViewModelControlListProperty("Роль", ColumnWidth = 100)] [MapConfiguration("Role.ToString", IsDifficle = true, AllowCopyWithoutRigth = false)] public string RoleName { get; set; } [ViewModelControlElementProperty("Операция", ControlType.ControlEnum, MustHaveValue = true)] public AccessOperation AccessOperation { get; set; } [ViewModelControlListProperty("Операция")] public string AccessOperationTitle => AccessOperation.ToString("G"); [ViewModelControlElementProperty("Тип", ControlType.ControlEnum, MustHaveValue = true)] public AccessType AccessType { get; set; } [ViewModelControlListProperty("Тип", ColumnWidth = 150)] public string AccessTypeTitle => AccessType switch { AccessType.Delete => "Полные права", AccessType.Change => "Просмотр, Редактирование", AccessType.View => "Просмотр", _ => "Неопределено", }; } }