DepartmentProject/DepartmentPortal/Common/ToolsModule/ManagmentMapping/MapConfigurationAttribute.cs

35 lines
1.7 KiB
C#
Raw Normal View History

using System;
2022-03-20 10:10:44 +04:00
namespace ToolsModule.ManagmentMapping
{
2022-03-20 10:10:44 +04:00
/// <summary>
/// Настройка для полей сущности правил маппинга в классе, который требуется заполнять данными из другого класса
/// (требуется для заполнения свойств объекта значениями одного класса значениями свойств объектов другого класса,
/// применяется при создании класса-описывающего сущность в хранилище из класса SetBindingModel
/// и из класса-описывающего сущность в хранилище в класс ElementViewModel)
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public class MapConfigurationAttribute : Attribute
{
/// <summary>
/// Название свойства с класса, из которого извлекаем данные
/// </summary>
public string PropertyNameFromModel { get; set; }
/// <summary>
/// Можно копировать поле даже при доступе без прав
/// </summary>
public bool AllowCopyWithoutRigth { get; set; } = true;
public Type[] MethodParams { get; set; } = null;
/// <summary>
/// Настройка для полей сущности правил маппинга
/// </summary>
/// <param name="propertyNameFromMModel">Название свойства с класса, из которого извлекаем данные</param>
public MapConfigurationAttribute(string propertyNameFromMModel)
{
PropertyNameFromModel = propertyNameFromMModel;
}
}
}