using DepartmentWindowsDesktop.EntityControls; using System.Collections.Generic; using ToolsDesktop.Interfaces; using ToolsDesktop.Models; using ToolsModule.ManagmentDependency; using ToolsModule.ManagmentSecurity; namespace DepartmentWindowsDesktop { public class DepartmentWindowDesktopExtension : IWindowDesktopExtension { public List GetListControlEntityList() { var manager = DependencyManager.Instance.Resolve(); if (manager == null) { return null; } if (!manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserIdForAccess = manager.User }, AccessOperation.Кафедра, AccessType.View, "Кафедра"))) { return null; } var list = new List { new WindowDesktopExtensionControlModel { Title = "Кафедра" } }; List _controls = new() { new ControlPostList(), new ControlEmployeeList(), new ControlClassroomList(), new ControlDisciplineBlockList(), new ControlDisciplineList(), new ControlLecturerAcademicDegreeList(), new ControlLecturerAcademicRankList(), new ControlLecturerList(), new ControlEducationDirectionList(), new ControlTimeNormList(), new ControlAcademicPlanList(), new ControlStudentGroupList(), new ControlStudentList(), new ControlOrderList(), new ControlBasicDepartmentList(), new ControlOrderSyncHistoryList(), new ControlStudentMarkSyncHistoryList(), }; foreach (var cntrl in _controls) { if (manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserIdForAccess = manager.User }, cntrl.AccessOperation, AccessType.View, cntrl.Title))) { list.Add(new WindowDesktopExtensionControlModel { Id = cntrl.ControlId, Title = cntrl.Title, Control = cntrl }); } } return list; } public List GetListControlSpecialList() { return null; } } }