using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; using System; namespace DepartmentBusinessLogic.ViewModels { /// /// Список связей преподавателей и должностей /// public class LecturerEmployeePostListViewModel : ListViewModel { } /// /// Связь преподавателя и должности /// [ViewModelControlElementClass()] public class LecturerEmployeePostViewModel : ElementViewModel { [ViewModelControlElementProperty("Сотрудник", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerList, DepartmentWindowsDesktop")] [MapConfiguration("LecturerId", AllowCopyWithoutRigth = false)] public Guid LecturerId { get; set; } [ViewModelControlListProperty("Преподаватель")] [MapConfiguration("Lecturer.LastName", IsDifficle = true)] public string LecturerName { get; set; } [ViewModelControlElementProperty("Должность", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEmployeePostList, DepartmentWindowsDesktop")] [MapConfiguration("EmployeePostId")] public Guid EmployeePostId { get; set; } [ViewModelControlListProperty("Должность")] [MapConfiguration("EmployeePost.EmployeePostName", IsDifficle = true)] public string EmployeePostName { 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 ? "Да" : "Нет"; public override string ToString() => $"{LecturerName}-{EmployeePostName}"; } }