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.ToString(),
Value = x.RoleName
})?.ToList(),
ParentPropertyName = "RoleId",
HideToolStripButton = new List
{
ToolStripButtonListNames.toolStripButtonSearch
}
};
public AccessListViewModel GetDataForControl() => throw new NotImplementedException();
public AccessListViewModel GetDataFromParentForControl(Guid id) => _businessLogic.GetList(new AccessGetBindingModel { RoleId = id });
public AccessListViewModel GetDataWithPageNameForControl(string key) => _businessLogic.GetList(new AccessGetBindingModel { RoleId = new Guid(key) });
public AccessListViewModel GetDataWithPageNumberForControl(int page, int count) => throw new NotImplementedException();
}
}