using ModuleTools.Enums; using System; using System.Windows.Forms; namespace DesktopTools.Controls { public abstract partial class AbstractControlViewEntityList : UserControl { /// /// Событие, вызываемое при закрытии контрола /// protected event Action CloseEvent; /// /// Событие, вызываемое при закрытии контрола /// public event Action CloseEventAdd { add { CloseEvent += value; } remove { CloseEvent -= value; } } /// /// Открытие формы /// public abstract void Open(); /// /// Закрытие формы /// public void Close() { CloseEvent?.Invoke(ControlId); if (FormForSelected != null) { FormForSelected.DialogResult = DialogResult.Cancel; FormForSelected.Close(); } Dispose(); } /// /// Дубликат контрола /// /// public abstract AbstractControlViewEntityList Clone(); /// /// Идентификатор контрола /// public Guid ControlId { get; protected set; } /// /// Заголовок контрола /// public string Title { get; protected set; } /// /// Порядок контрола в меню /// public int Order { get; protected set; } /// /// Операция в системе /// public AccessOperation AccessOperation { get; protected set; } /// /// Идентификатор выбранной записи /// public Guid? SelectedId { get; set; } /// /// Название выбранной записи /// public string SelectedText { get; set; } /// /// Ссылка на форму, в который открыевается контрол для выбора значения /// public Form FormForSelected { get; set; } /// /// Получение названиия объекта по его идентификатору /// /// public abstract string GetTitleFromId(Guid id); /// /// Констркутор /// public AbstractControlViewEntityList() { InitializeComponent(); } } }