DepartmentProject/DepartmentPortal/Common/DesktopTools/Controls/AbstractControlViewEntityList.cs

94 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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