DepartmentProject/DepartmentPortal/Common/ModuleTools/Attributes/MapConfigurationAttribute.cs

42 lines
2.2 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 System;
namespace ModuleTools.Attributes
{
/// <summary>
/// Настройка для полей сущности правил маппинга в классе, который требуется заполнять данными из другого класса
/// (требуется для заполнения свойств объекта значениями одного класса значениями свойств объектов другого класса,
/// применяется при создании класса-описывающего сущность в хранилище из класса SetBindingModel
/// и из класса-описывающего сущность в хранилище в класс ElementViewModel)
/// </summary>
[AttributeUsage(AttributeTargets.Property)]
public class MapConfigurationAttribute : Attribute
{
/// <summary>
/// Название свойства с класса, из которого извлекаем данные
/// </summary>
public string PropertyNameFromModel { get; set; }
/// <summary>
/// Сложное свойство (свойствое в другом классе-свойстве)
/// </summary>
public bool IsDifficle { get; set; }
/// <summary>
/// Можно копировать поле даже при доступе без прав
/// </summary>
public bool AllowCopyWithoutRigth { get; set; }
/// <summary>
/// Настройка для полей сущности правил маппинга
/// </summary>
/// <param name="propertyNameFromMModel">Название свойства с класса, из которого извлекаем данные</param>
/// <param name="isDifficle">Сложное свойство (свойствое в другом классе-свойстве)</param>
/// <param name="allowCopyWithoutRigth">Можно копировать поле даже при доступе без прав</param>
public MapConfigurationAttribute(string propertyNameFromMModel, bool isDifficle = false, bool allowCopyWithoutRigth = true)
{
PropertyNameFromModel = propertyNameFromMModel;
IsDifficle = isDifficle;
AllowCopyWithoutRigth = allowCopyWithoutRigth;
}
}
}