пеервод моделей кафедры, вторая итерация
This commit is contained in:
parent
941794b273
commit
9f6450142a
@ -0,0 +1,40 @@
|
||||
using CoreModels.Tools;
|
||||
using ModuleTools.Attributes;
|
||||
using System;
|
||||
|
||||
namespace CoreModels.ModelsDepartment
|
||||
{
|
||||
[EntityDescription("Employee", "Сотрудника кафедры")]
|
||||
[EntityDependency("User", "UserId", "К какому пользователю относится сотрудник")]
|
||||
public interface IEmployeeModel : IId
|
||||
{
|
||||
Guid UserId { get; }
|
||||
|
||||
string FirstName { get; }
|
||||
|
||||
string LastName { get; }
|
||||
|
||||
string Patronymic { get; }
|
||||
|
||||
[CheckRigthForMap]
|
||||
DateTime DateBirth { get; }
|
||||
|
||||
[CheckRigthForMap]
|
||||
string Address { get; }
|
||||
|
||||
[CheckRigthForMap]
|
||||
string Email { get; }
|
||||
|
||||
[CheckRigthForMap]
|
||||
string MobileNumber { get; }
|
||||
|
||||
[CheckRigthForMap]
|
||||
string HomeNumber { get; }
|
||||
|
||||
string Description { get; }
|
||||
|
||||
byte[] Photo { get; }
|
||||
|
||||
string GroupElectricalSafety { get; }
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
using CoreModels.Tools;
|
||||
using ModuleTools.Attributes;
|
||||
using System;
|
||||
|
||||
namespace CoreModels.ModelsDepartment
|
||||
{
|
||||
[EntityDescription("EmployeeEmployeePost", "Связь сотрудника и должность кафедры")]
|
||||
[EntityDependency("Post", "PostId", "К какой должности относится сотрудник")]
|
||||
[EntityDependency("Employee", "EmployeeId", "К какой должности относится сотрудник")]
|
||||
public interface IEmployeePostModel : IId
|
||||
{
|
||||
[CheckRigthForMap]
|
||||
Guid EmployeeId { get; }
|
||||
|
||||
Guid PostId { get; }
|
||||
|
||||
decimal Rate { get; }
|
||||
|
||||
bool IsInternalCombination { get; }
|
||||
|
||||
bool IsExternalCombination { get; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
using CoreModels.Tools;
|
||||
using ModuleTools.Attributes;
|
||||
|
||||
namespace CoreModels.ModelsDepartment
|
||||
{
|
||||
[EntityDescription("Post", "Должность на кафедры")]
|
||||
public interface IPostModel : IId
|
||||
{
|
||||
string PostName { get; }
|
||||
|
||||
int? Hours { get; }
|
||||
|
||||
int Order { get; }
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
using DatabaseCore.Models.Security;
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using DatabaseCore.Models.Security;
|
||||
using ModuleTools.Extensions;
|
||||
using ModuleTools.Interfaces;
|
||||
using System;
|
||||
@ -9,60 +9,43 @@ using System.Runtime.Serialization;
|
||||
|
||||
namespace DatabaseCore.Models.Department
|
||||
{
|
||||
/// <summary>
|
||||
/// Класс, описывающий сотрудника кафедры
|
||||
/// </summary>
|
||||
[DataContract]
|
||||
[EntityDescription("Employee", "Сотрудника кафедры")]
|
||||
[EntityDependency("User", "UserId", "К какому пользователю относится сотрудник")]
|
||||
public class Employee : BaseEntity, IEntitySecurityExtenstion<Employee>
|
||||
public class Employee : BaseEntity, IEntitySecurityExtenstion<Employee>, IEmployeeModel
|
||||
{
|
||||
[DataMember]
|
||||
[MapConfiguration("UserId")]
|
||||
public Guid UserId { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("FirstName")]
|
||||
public string FirstName { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("LastName")]
|
||||
public string LastName { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Patronymic")]
|
||||
public string Patronymic { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("DateBirth")]
|
||||
public DateTime DateBirth { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Address")]
|
||||
public string Address { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Email")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("MobileNumber")]
|
||||
public string MobileNumber { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("HomeNumber")]
|
||||
public string HomeNumber { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Description")]
|
||||
public string Description { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Photo")]
|
||||
public byte[] Photo { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("GroupElectricalSafety")]
|
||||
public string GroupElectricalSafety { get; set; }
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -1,37 +1,26 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.Interfaces;
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace DatabaseCore.Models.Department
|
||||
{
|
||||
/// <summary>
|
||||
/// Класс, описывающий связь сотрудника и должность кафедры
|
||||
/// </summary>
|
||||
[DataContract]
|
||||
[EntityDescription("EmployeeEmployeePost", "Связь сотрудника и должность кафедры")]
|
||||
[EntityDependency("Post", "PostId", "К какой должности относится сотрудник")]
|
||||
[EntityDependency("Employee", "EmployeeId", "К какой должности относится сотрудник")]
|
||||
public class EmployeePost : BaseEntity, IEntitySecurityExtenstion<EmployeePost>
|
||||
public class EmployeePost : BaseEntity, IEntitySecurityExtenstion<EmployeePost>, IEmployeePostModel
|
||||
{
|
||||
[DataMember]
|
||||
[MapConfiguration("EmployeeId")]
|
||||
public Guid EmployeeId { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("PostId")]
|
||||
public Guid PostId { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Rate")]
|
||||
public decimal Rate { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("IsInternalCombination")]
|
||||
public bool IsInternalCombination { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("IsExternalCombination")]
|
||||
public bool IsExternalCombination { get; set; }
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.Interfaces;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
@ -6,23 +6,16 @@ using System.Runtime.Serialization;
|
||||
|
||||
namespace DatabaseCore.Models.Department
|
||||
{
|
||||
/// <summary>
|
||||
/// Класс, описывающий должность на кафедры
|
||||
/// </summary>
|
||||
[DataContract]
|
||||
[EntityDescription("Post", "Должность на кафедры")]
|
||||
public class Post : BaseEntity, IEntitySecurityExtenstion<Post>
|
||||
public class Post : BaseEntity, IEntitySecurityExtenstion<Post>, IPostModel
|
||||
{
|
||||
[DataMember]
|
||||
[MapConfiguration("PostName")]
|
||||
public string PostName { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Hours")]
|
||||
public int? Hours { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[MapConfiguration("Order")]
|
||||
public int Order { get; set; }
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.BindingModels;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
@ -16,50 +16,38 @@ namespace DepartmentBusinessLogic.BindingModels
|
||||
/// <summary>
|
||||
/// Сохранение сотрудника
|
||||
/// </summary>
|
||||
public class EmployeeSetBindingModel : SetBindingModel
|
||||
public class EmployeeSetBindingModel : SetBindingModel, IEmployeeModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("UserId")]
|
||||
public Guid UserId { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("LastName")]
|
||||
public string LastName { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("FirstName")]
|
||||
public string FirstName { get; set; }
|
||||
|
||||
[MapConfiguration("Patronymic")]
|
||||
public string Patronymic { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("DateBirth")]
|
||||
public DateTime DateBirth { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("Address")]
|
||||
public string Address { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("Email")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("MobileNumber")]
|
||||
public string MobileNumber { get; set; }
|
||||
|
||||
[MapConfiguration("HomeNumber")]
|
||||
public string HomeNumber { get; set; }
|
||||
|
||||
[MapConfiguration("Description")]
|
||||
public string Description { get; set; }
|
||||
|
||||
[MapConfiguration("Photo")]
|
||||
public byte[] Photo { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("GroupElectricalSafety")]
|
||||
public string GroupElectricalSafety { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.BindingModels;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
@ -18,24 +18,19 @@ namespace DepartmentBusinessLogic.BindingModels
|
||||
/// <summary>
|
||||
/// Сохранение связи сотрудника с должностью
|
||||
/// </summary>
|
||||
public class EmployeePostSetBindingModel : SetBindingModel
|
||||
public class EmployeePostSetBindingModel : SetBindingModel, IEmployeePostModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("EmployeeId")]
|
||||
public Guid EmployeeId { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("PostId")]
|
||||
public Guid PostId { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("Rate")]
|
||||
public decimal Rate { get; set; }
|
||||
|
||||
[MapConfiguration("IsInternalCombination")]
|
||||
public bool IsInternalCombination { get; set; }
|
||||
|
||||
[MapConfiguration("IsExternalCombination")]
|
||||
public bool IsExternalCombination { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.BindingModels;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
@ -14,18 +14,15 @@ namespace DepartmentBusinessLogic.BindingModels
|
||||
/// <summary>
|
||||
/// Сохранение должности сотрудника
|
||||
/// </summary>
|
||||
public class PostSetBindingModel : SetBindingModel
|
||||
public class PostSetBindingModel : SetBindingModel, IPostModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("PostName")]
|
||||
public string PostName { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("Hours")]
|
||||
public int? Hours { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("Order")]
|
||||
public int Order { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.Attributes;
|
||||
using ModuleTools.Enums;
|
||||
using ModuleTools.ViewModels;
|
||||
using System;
|
||||
@ -14,10 +15,9 @@ namespace DepartmentBusinessLogic.ViewModels
|
||||
/// Связь сотрудника и должности
|
||||
/// </summary>
|
||||
[ViewModelControlElementClass()]
|
||||
public class EmployeePostViewModel : ElementViewModel
|
||||
public class EmployeePostViewModel : ElementViewModel, IEmployeePostModel
|
||||
{
|
||||
[ViewModelControlElementProperty("Сотрудник", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEmployeeList, DepartmentWindowsDesktop")]
|
||||
[MapConfiguration("EmployeeId", AllowCopyWithoutRigth = false)]
|
||||
public Guid EmployeeId { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Сотрудник")]
|
||||
@ -25,7 +25,6 @@ namespace DepartmentBusinessLogic.ViewModels
|
||||
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("Должность")]
|
||||
@ -34,18 +33,15 @@ namespace DepartmentBusinessLogic.ViewModels
|
||||
|
||||
[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)]
|
||||
|
@ -1,4 +1,5 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.Attributes;
|
||||
using ModuleTools.Enums;
|
||||
using ModuleTools.ViewModels;
|
||||
using System;
|
||||
@ -18,63 +19,51 @@ namespace DepartmentBusinessLogic.ViewModels
|
||||
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEmployeePostList, DepartmentWindowsDesktop")]
|
||||
[ViewModelControlElementDependenceEntity(Title = "Аудитории", Order = 1, ParentPropertyName = "EmployeeId",
|
||||
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlClassroomList, DepartmentWindowsDesktop")]
|
||||
public class EmployeeViewModel : ElementViewModel
|
||||
public class EmployeeViewModel : ElementViewModel, IEmployeeModel
|
||||
{
|
||||
[ViewModelControlElementProperty("Пользователь", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "SecurityWindowsDesktop.EntityControls.ControlUserList, SecurityWindowsDesktop")]
|
||||
[MapConfiguration("UserId")]
|
||||
public Guid UserId { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Фамилия")]
|
||||
[ViewModelControlElementProperty("Фамилия", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("LastName")]
|
||||
public string LastName { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Имя")]
|
||||
[ViewModelControlElementProperty("Имя", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("FirstName")]
|
||||
public string FirstName { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Отчество")]
|
||||
[ViewModelControlElementProperty("Отчество", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("Patronymic")]
|
||||
public string Patronymic { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Дата рожд.", ColumnWidth = 100, DefaultCellStyleFormat = "dd.MM.yyyy")]
|
||||
[ViewModelControlElementProperty("Дата рожд.", ControlType.ControlDateTime, MustHaveValue = true )]
|
||||
[MapConfiguration("DateBirth", AllowCopyWithoutRigth = false)]
|
||||
public DateTime DateBirth { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Адрес", ColumnWidth = 90)]
|
||||
[ViewModelControlElementProperty("Адрес", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("Address", AllowCopyWithoutRigth = false)]
|
||||
public string Address { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Эл. почта", ColumnWidth = 90)]
|
||||
[ViewModelControlElementProperty("Эл. почта", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("Email", AllowCopyWithoutRigth = false)]
|
||||
public string Email { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Моб. номер", ColumnWidth = 100)]
|
||||
[ViewModelControlElementProperty("Моб. номер", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("MobileNumber", AllowCopyWithoutRigth = false)]
|
||||
public string MobileNumber { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Дом. номер", ColumnWidth = 100)]
|
||||
[ViewModelControlElementProperty("Дом. номер", ControlType.ControlString)]
|
||||
[MapConfiguration("HomeNumber", AllowCopyWithoutRigth = false)]
|
||||
public string HomeNumber { get; set; }
|
||||
|
||||
[ViewModelControlElementProperty("Описание", ControlType.ControlText)]
|
||||
[MapConfiguration("Description")]
|
||||
public string Description { get; set; }
|
||||
|
||||
[ViewModelControlElementProperty("Фото", ControlType.ControlImage, Width = 200, Height = 200)]
|
||||
[MapConfiguration("Photo")]
|
||||
public byte[] Photo { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Гр. эл.без.", ColumnWidth = 90)]
|
||||
[ViewModelControlElementProperty("Группа эл.безоп", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("GroupElectricalSafety")]
|
||||
public string GroupElectricalSafety { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using ModuleTools.Attributes;
|
||||
using CoreModels.ModelsDepartment;
|
||||
using ModuleTools.Attributes;
|
||||
using ModuleTools.Enums;
|
||||
using ModuleTools.ViewModels;
|
||||
|
||||
@ -17,15 +18,13 @@ namespace DepartmentBusinessLogic.ViewModels
|
||||
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEmployeePostList, DepartmentWindowsDesktop")]
|
||||
[ViewModelControlElementDependenceEntity(Title = "Преподаватели", Order = 1, ParentPropertyName = "PostId",
|
||||
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerPostList, DepartmentWindowsDesktop")]
|
||||
public class PostViewModel : ElementViewModel
|
||||
public class PostViewModel : ElementViewModel, IPostModel
|
||||
{
|
||||
[ViewModelControlListProperty("Название должности")]
|
||||
[ViewModelControlElementProperty("Название должности", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("PostName")]
|
||||
public string PostName { get; set; }
|
||||
|
||||
[ViewModelControlElementProperty("Часы", ControlType.ControlInt, MustHaveValue = false)]
|
||||
[MapConfiguration("Hours")]
|
||||
public int? Hours { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Часы", ColumnWidth = 100)]
|
||||
@ -33,7 +32,6 @@ namespace DepartmentBusinessLogic.ViewModels
|
||||
|
||||
[ViewModelControlListProperty("Порядок", ColumnWidth = 100)]
|
||||
[ViewModelControlElementProperty("Порядок", ControlType.ControlInt, MustHaveValue = true)]
|
||||
[MapConfiguration("Order")]
|
||||
public int Order { get; set; }
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user