using AcademicProgressWindowsDesktop.EntityControls.StudentAcademicProgress; using AcademicProgressWindowsDesktop.SpecialControls; using DesktopTools.Interfaces; using DesktopTools.Models; using ModuleTools.BindingModels; using ModuleTools.BusinessLogics; using ModuleTools.Enums; using ModuleTools.Interfaces; using ModuleTools.Models; using System.Collections.Generic; namespace AcademicProgressWindowsDesktop { public class AcademicProgressWindowDesktopExtension : 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 ControlStudentAcademicProgressList() }; 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() { 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 ControlStudentGraduate(), new ControlReportPlanDisciplines(), new ControlReportAcademicProgress() }; 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; } } }