DepartmentProject/DepartmentPortal/Security/SecurityBusinessLogic/ViewModels/AccessViewModels.cs
kotcheshir73 1e1896c68d 1. проверка целосности данных для админа
2. смена типов доступа
3. вывод текстом типа доступа
2021-03-28 00:15:01 +04:00

58 lines
1.5 KiB
C#

using ModelTools.Attributes;
using ModelTools.Enums;
using ModelTools.ViewModels;
using System;
namespace SecurityBusinessLogic.ViewModels
{
/// <summary>
/// Список достпуов
/// </summary>
public class AccessListViewModel : ListViewModel<AccessViewModel> { }
/// <summary>
/// Элемент доступа
/// </summary>
public class AccessViewModel : ElementViewModel
{
[MapConfiguration("RoleId")]
public Guid RoleId { get; set; }
[ViewModelOnListProperty("Роль", 100)]
[MapConfiguration("Role.RoleName", true)]
public string RoleName { get; set; }
[MapConfiguration("AccessOperation")]
public AccessOperation AccessOperation { get; set; }
[ViewModelOnListProperty("Операция")]
public string AccessOperationTitle => AccessOperation.ToString("G");
[MapConfiguration("AccessType")]
public AccessType AccessType { get; set; }
[ViewModelOnListProperty("Тип", 150)]
public string AccessTypeTitle
{
get
{
switch (AccessType)
{
case AccessType.Delete:
return "Полные права";
case AccessType.Change:
return "Просмотр, Редактирование";
case AccessType.FullView:
return "Просмотр";
case AccessType.SimpleView:
return "Частичный просмотр";
default:
return "Неопределено";
}
}
}
public override string ToString() => $"{RoleName}-{AccessOperationTitle}({AccessTypeTitle})";
}
}