using DesktopTools.BaseControls; using DesktopTools.Controls; using DesktopTools.Interfaces; using DesktopTools.Models; using ModuleTools.Enums; using SecurityBusinessLogic.BindingModels; using SecurityBusinessLogic.BusinessLogics; using SecurityBusinessLogic.ViewModels; using System; using System.Linq; using System.Windows.Forms; namespace SecurityWindowsDesktop.Controls { /// /// Реализация контрола для списка пользователей /// public partial class ControlUserList : GenericControlEntityList, IGenericControlEntityList { public ControlUserList() : base() { InitializeComponent(); Title = "Пользователи"; ControlId = new Guid("d5596997-d1f5-4e5e-b94b-6bdd6bca3452"); AccessOperation = AccessOperation.Пользователи; ControlViewEntityElement = new ControlUserElement(); _genericControlViewEntityList = this; FillSearchPanel(); } public IControl GetInstanceGenericControl() => new ControlUserList() { ControlId = Guid.NewGuid() }; public ControlViewEntityListConfiguration GetConfigControl() => new() { PaginationOn = true, CountElementsOnPage = 40 }; public UserListViewModel GetDataForControl() => throw new NotImplementedException(); public UserListViewModel GetDataFromParentForControl(Guid id) => throw new NotImplementedException(); public UserListViewModel GetDataWithPageNameForControl(string key) => throw new NotImplementedException(); public UserListViewModel GetDataWithPageNumberForControl(int page, int count) { var model = new UserGetBindingModel { PageNumber = page, PageSize = count }; if (_searchValues != null) { var cntrl = _searchValues.FirstOrDefault(x => x.Name == "UserNameForSearch"); if (cntrl != default) { model.UserNameForSearch = cntrl.Value.ToString(); } } return _businessLogic.GetList(model); } private void FillSearchPanel() { var control = new BaseControlString("UserNameForSearch", false, false, null) { Location = new System.Drawing.Point(10, 10), Size = new System.Drawing.Size(400, 23), Name = "SearchUserName", TabIndex = 0 }; control.SetTitleWidth(control.SetTitle("Имя пользователя:")); panelSearchControls.Controls.Add(control); } } }