using ToolsModule.BindingModels;
using ToolsModule.ViewModels;
namespace ToolsModule.Interfaces
{
///
/// Описание действий для логики сущности
///
///
///
///
///
public interface IGenericEntityLogic : IErrors
where G : GetBindingModel
where S : SetBindingModel
where L : ListViewModel
where E : ElementViewModel
{
///
/// Получение списка записей
///
///
///
L GetList(G model);
///
/// Получение записи
///
///
///
E GetElement(G model);
///
/// Создание записи
///
///
///
E Create(S model);
///
/// Изменение записи
///
///
///
E Update(S model);
///
/// Удаление записи
///
///
///
bool Delete(G model);
///
/// Восстанолвение записи
///
///
///
E Restore(G model);
}
}