56 lines
2.8 KiB
C#
56 lines
2.8 KiB
C#
using ModuleTools.Attributes;
|
|
using ModuleTools.Enums;
|
|
using ModuleTools.ViewModels;
|
|
using System;
|
|
|
|
namespace DepartmentBusinessLogic.ViewModels
|
|
{
|
|
/// <summary>
|
|
/// Список связей преподавателей и должностей
|
|
/// </summary>
|
|
public class LecturerEmployeePostListViewModel : ListViewModel<LecturerEmployeePostViewModel> { }
|
|
|
|
/// <summary>
|
|
/// Связь преподавателя и должности
|
|
/// </summary>
|
|
[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}";
|
|
}
|
|
} |