59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
|
using DesktopTools.Controls;
|
|||
|
using ModelTools.BindingModels;
|
|||
|
using ModelTools.BusinessLogics;
|
|||
|
using ModelTools.Enums;
|
|||
|
using ModelTools.Interfaces;
|
|||
|
using ModelTools.Models;
|
|||
|
using SecurityBusinessLogic.BusinessLogics;
|
|||
|
using SecurityWindowsDesktop.Controls;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace SecurityWindowsDesktop
|
|||
|
{
|
|||
|
public class SecurityWindowDesktopExtension : IWindowDesktopExtension
|
|||
|
{
|
|||
|
public List<WindowDesktopExtensionControlModel> GetListControlEntityList()
|
|||
|
{
|
|||
|
var manager = UnityContainerConfigurator.Resolve<ISecurityManager>();
|
|||
|
if (manager == null)
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
if (!manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserId = UserManager.GetInstance.UserId },
|
|||
|
AccessOperation.Администрирование, AccessType.SimpleView, "Администрирование")))
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
var list = new List<WindowDesktopExtensionControlModel>
|
|||
|
{
|
|||
|
new WindowDesktopExtensionControlModel { Order = 0, Title = "Администрирование" }
|
|||
|
};
|
|||
|
List<ControlViewEntityList> _controls = new()
|
|||
|
{
|
|||
|
new UsersControl(),
|
|||
|
new RolesControl(),
|
|||
|
new AccessesControl(),
|
|||
|
new EnviromentSettingControl()
|
|||
|
};
|
|||
|
|
|||
|
foreach (var cntrl in _controls)
|
|||
|
{
|
|||
|
if (manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserId = UserManager.GetInstance.UserId },
|
|||
|
cntrl.AccessOperation, AccessType.SimpleView, cntrl.Title)))
|
|||
|
{
|
|||
|
list.Add(new WindowDesktopExtensionControlModel
|
|||
|
{
|
|||
|
Id = cntrl.Id,
|
|||
|
Order = cntrl.Order,
|
|||
|
Title = cntrl.Title,
|
|||
|
Control = cntrl
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return list;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|