DepartmentProject/DepartmentPortal/Common/DesktopTools/Interfaces/IGenericControlEntityList.cs

54 lines
1.4 KiB
C#
Raw Normal View History

using DesktopTools.Models;
using ModuleTools.ViewModels;
using System;
namespace DesktopTools.Interfaces
{
/// <summary>
/// Работа с generic-контролом списка
/// </summary>
public interface IGenericControlEntityList<L, E>
where L : ListViewModel<E>
where E : ElementViewModel
{
/// <summary>
/// Новый экземпляр контрола
/// </summary>
/// <returns></returns>
IControl GetInstanceGenericControl();
/// <summary>
/// Получение настроек
/// </summary>
/// <returns></returns>
ControlViewEntityListConfiguration GetConfigControl();
/// <summary>
/// Получение полного списка
/// </summary>
/// <returns></returns>
L GetDataForControl();
/// <summary>
/// Получение списка с пагинацией по названиям
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
L GetDataWithPageNameForControl(string key);
/// <summary>
/// Получение списка с пагинацией по страницам
/// </summary>
/// <param name="page"></param>
/// <param name="count"></param>
/// <returns></returns>
L GetDataWithPageNumberForControl(int page, int count);
/// <summary>
/// Получение списка от родителя
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
L GetDataFromParentForControl(Guid id);
}
}