using DepartmentBusinessLogic.BindingModels; using DepartmentBusinessLogic.BusinessLogics; using DepartmentBusinessLogic.ViewModels; using DesktopTools.BaseControls; using DesktopTools.Controls; using DesktopTools.Interfaces; using DesktopTools.Models; using ModuleTools.BusinessLogics; using ModuleTools.Enums; using System; using System.Linq; namespace DepartmentWindowsDesktop.EntityControls { /// /// Реализация контрола для списка дисциплин /// public partial class ControlDisciplineList : GenericControlEntityList, IGenericControlEntityList { private readonly DisciplineBlockBusinessLogic _disciplineBlockBusinessLogic; public ControlDisciplineList() { InitializeComponent(); _disciplineBlockBusinessLogic = DependencyManager.Instance.Resolve(); Title = "Дисциплины"; ControlId = new Guid("1731f50b-b20b-44c4-aa56-b335764fae7a"); AccessOperation = AccessOperation.Дисциплины; ControlViewEntityElement = new ControlDisciplineElement(); _genericControlViewEntityList = this; FillSearchPanel(); } public IControl GetInstanceGenericControl() => new ControlDisciplineList() { ControlId = Guid.NewGuid() }; public ControlViewEntityListConfiguration GetConfigControl() => new() { PaginationOn = true, PageNamesForPagination = _disciplineBlockBusinessLogic.GetListAsync(new DisciplineBlockGetBindingModel()).Result?.List?.Select(x => new PageNamesForPaginationModel { Key = x.Id, Value = x.Title })?.ToList(), ParentPropertyName = "DisciplineBlockId" }; private void FillSearchPanel() { var control = new BaseControlString("DisciplineNameForSearch", false, false, 0) { Location = new System.Drawing.Point(10, 10), Size = new System.Drawing.Size(400, 23), Name = "SearchDisciplineName", TabIndex = 0 }; control.SetTitleWidth(control.SetTitle("Название:")); panelSearchControls.Controls.Add(control); } } }