61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
using ToolsModule.BindingModels;
|
|
using ToolsModule.ViewModels;
|
|
|
|
namespace ToolsModule.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Описание действий для логики сущности
|
|
/// </summary>
|
|
/// <typeparam name="G"></typeparam>
|
|
/// <typeparam name="S"></typeparam>
|
|
/// <typeparam name="L"></typeparam>
|
|
/// <typeparam name="E"></typeparam>
|
|
public interface IGenericEntityLogic<G, S, L, E> : IErrors
|
|
where G : GetBindingModel
|
|
where S : SetBindingModel
|
|
where L : ListViewModel<E>
|
|
where E : ElementViewModel
|
|
{
|
|
/// <summary>
|
|
/// Получение списка записей
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
L GetList(G model);
|
|
|
|
/// <summary>
|
|
/// Получение записи
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
E GetElement(G model);
|
|
|
|
/// <summary>
|
|
/// Создание записи
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
E Create(S model);
|
|
|
|
/// <summary>
|
|
/// Изменение записи
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
E Update(S model);
|
|
|
|
/// <summary>
|
|
/// Удаление записи
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
bool Delete(G model);
|
|
|
|
/// <summary>
|
|
/// Восстанолвение записи
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
E Restore(G model);
|
|
}
|
|
} |