DepartmentProject/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/ClassroomViewModels.cs

66 lines
2.8 KiB
C#
Raw Normal View History

using CoreModels.Enums.Department;
using CoreModels.ModelsDepartment;
2021-04-03 13:41:19 +04:00
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
using System;
namespace DepartmentBusinessLogic.ViewModels
{
/// <summary>
/// Список аудиторий
/// </summary>
public class ClassroomListViewModel : ListViewModel<ClassroomViewModel> { }
2021-04-03 13:41:19 +04:00
/// <summary>
/// Элемент аудитории
2021-04-03 13:41:19 +04:00
/// </summary>
[ViewModelControlElementClass()]
public class ClassroomViewModel : ElementViewModel, IClassroomModel
2021-04-03 13:41:19 +04:00
{
[ViewModelControlListProperty("Номер", ColumnWidth = 80)]
2021-04-03 13:41:19 +04:00
[ViewModelControlElementProperty("Номер аудитории", ControlType.ControlString, MustHaveValue = true)]
public string Number { get; set; }
[ViewModelControlListProperty("Название")]
[ViewModelControlElementProperty("Название", ControlType.ControlString)]
public string Title { get; set; }
[ViewModelControlElementProperty("Сотрудник", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEmployeeList, DepartmentWindowsDesktop")]
public Guid EmployeeId { get; set; }
[ViewModelControlListProperty("Сотрудник")]
[MapConfiguration("Employee.LastName", IsDifficle = true)]
public string EmployeeName { get; set; }
[ViewModelControlElementProperty("Тип", ControlType.ControlEnum, MustHaveValue = true)]
public ClassroomType ClassroomType { get; set; }
[ViewModelControlListProperty("Тип", ColumnWidth = 120)]
2021-04-03 13:41:19 +04:00
public string ClassroomTypeTitle => ClassroomType.ToString("G");
[ViewModelControlListProperty("Площадь", ColumnWidth = 90)]
2021-04-03 13:41:19 +04:00
[ViewModelControlElementProperty("Площадь", ControlType.ControlDecimal, MustHaveValue = true)]
public decimal Square { get; set; }
[ViewModelControlListProperty("Кол-во мест", ColumnWidth = 100)]
2021-04-03 13:41:19 +04:00
[ViewModelControlElementProperty("Кол-во мест", ControlType.ControlInt, MustHaveValue = true)]
public int Capacity { get; set; }
[ViewModelControlListProperty("Код безоп.", ColumnWidth = 100)]
2021-04-03 13:41:19 +04:00
[ViewModelControlElementProperty("Код безоп.", ControlType.ControlString, MustHaveValue = true)]
public string SecurityCode { get; set; }
[ViewModelControlElementProperty("Есть проектор", ControlType.ControlBool, MustHaveValue = true)]
public bool HaveProjector { get; set; }
[ViewModelControlListProperty("Есть проектор", ColumnWidth = 80)]
public string IsHaveProjector => HaveProjector ? "Да" : "Нет";
2021-04-03 13:41:19 +04:00
[ViewModelControlElementProperty("Описание", ControlType.ControlText)]
public string Description { get; set; }
[ViewModelControlElementProperty("Фото", ControlType.ControlImage, Width = 200, Height = 200)]
public byte[] Photo { get; set; }
}
}