using SecurityContract.BindingModels;
using SecurityContract.Logics.IGenericEntityLogic;
using SecurityContract.ViewModels;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using ToolsDesktop.Controls;
using ToolsDesktop.Enums;
using ToolsDesktop.Interfaces;
using ToolsDesktop.Models;
using ToolsModule.ManagmentDependency;
using ToolsModule.ManagmentSecurity;
namespace SecurityWindowsDesktop.EntityControls
{
///
/// Реализация контрола для списка доступов
///
public partial class ControlAccessList :
GenericControlEntityList,
IGenericControlEntityList
{
private readonly IRoleLogic _roleLogic;
public ControlAccessList()
{
InitializeComponent();
_roleLogic = 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 = _roleLogic.GetList(new RoleGetBindingModel())?.List?.Select(x =>
new PageNamesForPaginationModel
{
Key = x.Id,
Value = x.RoleName
})?.ToList(),
ParentPropertyName = "RoleId",
HideToolStripButton = new List
{
ToolStripButtonListNames.toolStripButtonSearch
}
};
}
}