using DesktopTools.Controls;
using DesktopTools.Enums;
using DesktopTools.Interfaces;
using DesktopTools.Models;
using ModuleTools.BusinessLogics;
using ModuleTools.Enums;
using SecurityBusinessLogic.BindingModels;
using SecurityBusinessLogic.BusinessLogics;
using SecurityBusinessLogic.ViewModels;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace SecurityWindowsDesktop.EntityControls
{
///
/// Реализация контрола для списка доступов
///
public partial class ControlAccessList :
GenericControlEntityList,
IGenericControlEntityList
{
private readonly RoleBusinessLogic _roleBusinessLogic;
public ControlAccessList()
{
InitializeComponent();
_roleBusinessLogic = DependencyManager.Instance.Resolve();
Title = "Доступы";
ControlId = new Guid("6eebc4c4-cb86-4368-93e0-33dbdbb7409a");
AccessOperation = AccessOperation.Доступы;
ControlViewEntityElement = new ControlAccessElement();
_genericControlViewEntityList = this;
}
public IControl GetInstanceGenericControl() => new ControlAccessList() { ControlId = Guid.NewGuid() };
public ControlViewEntityListConfiguration GetConfigControl() => new()
{
PaginationOn = true,
PageNamesForPagination = _roleBusinessLogic.GetList(new RoleGetBindingModel())?.List?.Select(x =>
new PageNamesForPaginationModel
{
Key = x.Id,
Value = x.RoleName
})?.ToList(),
ParentPropertyName = "RoleId",
HideToolStripButton = new List
{
ToolStripButtonListNames.toolStripButtonSearch
}
};
}
}