DepartmentProject/DepartmentPortal/Common/ToolsDesktop/Interfaces/IControl.cs

51 lines
1.1 KiB
C#
Raw Normal View History

2022-03-18 22:48:14 +04:00
using ToolsDesktop.Models;
using ToolsModule.Enums;
using System;
2022-03-18 22:48:14 +04:00
namespace ToolsDesktop.Interfaces
{
/// <summary>
/// Основные параметры для контрола
/// </summary>
public interface IControl
{
/// <summary>
/// Идентификатор контрола
/// </summary>
public Guid ControlId { get; }
/// <summary>
/// Заголовок контрола
/// </summary>
string Title { get; }
/// <summary>
/// Операция в системе
/// </summary>
public AccessOperation AccessOperation { get; }
/// <summary>
/// Создание дубликата
/// </summary>
/// <returns></returns>
IControl GetInstance();
/// <summary>
/// Открытие контрола
/// </summary>
/// <param name="model"></param>
void Open(ControlOpenModel model);
/// <summary>
/// Сохранение настроек в xml-строку
/// </summary>
/// <returns></returns>
string SaveToXml();
/// <summary>
/// Загрузка настроек из xml-строки
/// </summary>
/// <param name="xml"></param>
void LoadFromXml(string xml);
}
}