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