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