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);
|
|||
|
}
|
|||
|
}
|