DepartmentProject/DepartmentPortal/Common/ToolsModule/Interfaces/IGenerticEntityService.cs

48 lines
1.2 KiB
C#

using ToolsModule.BindingModels;
using ToolsModule.Models;
namespace ToolsModule.Interfaces
{
/// <summary>
/// Описание логики для хранилища сущности
/// </summary>
public interface IGenerticEntityService<G, S>
where G : GetBindingModel
where S : SetBindingModel
{
/// <summary>
/// Получение списка сущностей
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
OperationResultModel Read(G model);
/// <summary>
/// Создание новой сущности
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
OperationResultModel Create(S model);
/// <summary>
/// Изменение сущности
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
OperationResultModel Update(S model);
/// <summary>
/// Удаление сущности
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
OperationResultModel Delete(G model);
/// <summary>
/// Восстановление сущности
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
OperationResultModel Restore(G model);
}
}