using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; using System; namespace DepartmentBusinessLogic.ViewModels { /// /// Список связей сотрудников и должностей /// public class EmployeePostListViewModel : ListViewModel { } /// /// Связь сотрудника и должности /// [ViewModelControlElementClass()] public class EmployeePostViewModel : ElementViewModel { [ViewModelControlElementProperty("Сотрудник", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEmployeeList, DepartmentWindowsDesktop")] [MapConfiguration("EmployeeId", AllowCopyWithoutRigth = false)] public Guid EmployeeId { get; set; } [ViewModelControlListProperty("Сотрудник")] [MapConfiguration("Employee.ToString", IsDifficle = true)] public string EmployeeName { get; set; } [ViewModelControlElementProperty("Должность", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlPostList, DepartmentWindowsDesktop")] [MapConfiguration("PostId")] public Guid PostId { get; set; } [ViewModelControlListProperty("Должность")] [MapConfiguration("Post.ToString", IsDifficle = true)] public string PostName { get; set; } [ViewModelControlListProperty("Ставка", ColumnWidth = 80, DefaultCellStyleFormat = "N1")] [ViewModelControlElementProperty("Ставка", ControlType.ControlDecimal, DecimalPlaces = 1, MustHaveValue = true)] [MapConfiguration("Rate")] public decimal Rate { get; set; } [ViewModelControlElementProperty("Внутр. совм.", ControlType.ControlBool, MustHaveValue = true)] [MapConfiguration("IsInternalCombination")] public bool IsInternalCombination { get; set; } [ViewModelControlListProperty("Внутр. совм.", ColumnWidth = 80)] public string InternalCombination => IsInternalCombination ? "Да" : "Нет"; [ViewModelControlElementProperty("Внеш. совм.", ControlType.ControlBool, MustHaveValue = true)] [MapConfiguration("IsExternalCombination")] public bool IsExternalCombination { get; set; } [ViewModelControlListProperty("Внеш. совм.", ColumnWidth = 80)] public string ExternalCombination => IsExternalCombination ? "Да" : "Нет"; } }