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