using DesktopTools.Controls; using DesktopTools.Interfaces; using DesktopTools.Models; using ModuleTools.BindingModels; using ModuleTools.BusinessLogics; using ModuleTools.Enums; using ModuleTools.Interfaces; using ModuleTools.Models; using SecurityWindowsDesktop.Controls; using System.Collections.Generic; namespace SecurityWindowsDesktop { public class SecurityWindowDesktopExtension : IWindowDesktopExtension { public List GetListControlEntityList() { var manager = DependencyManager.Instance.Resolve(); if (manager == null) { return null; } if (!manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserId = manager.User }, AccessOperation.Администрирование, AccessType.View, "Администрирование"))) { 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.View, cntrl.Title))) { list.Add(new WindowDesktopExtensionControlModel { Id = cntrl.ControlId, Order = cntrl.Order, Title = cntrl.Title, Control = cntrl }); } } DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); DependencyManager.Instance.RegisterType(); return list; } } }