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