diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerAcademicDegreeModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerAcademicDegreeModel.cs
new file mode 100644
index 0000000..bf9a827
--- /dev/null
+++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerAcademicDegreeModel.cs
@@ -0,0 +1,15 @@
+using CoreModels.Tools;
+using ModuleTools.Attributes;
+
+namespace CoreModels.ModelsDepartment
+{
+ [EntityDescription("LecturerAcademicDegree", "Ученой степени преподавателя кафедры")]
+ public interface ILecturerAcademicDegreeModel : IId
+ {
+ string LecturerAcademicDegreeName { get; }
+
+ string Description { get; }
+
+ int Order { get; }
+ }
+}
\ No newline at end of file
diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerAcademicRankModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerAcademicRankModel.cs
new file mode 100644
index 0000000..5e5e905
--- /dev/null
+++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerAcademicRankModel.cs
@@ -0,0 +1,13 @@
+using CoreModels.Tools;
+using ModuleTools.Attributes;
+
+namespace CoreModels.ModelsDepartment
+{
+ [EntityDescription("LecturerAcademicRank", "Ученое звание преподавателя кафедры")]
+ public interface ILecturerAcademicRankModel : IId
+ {
+ string LecturerAcademicRankName { get; }
+
+ int Order { get; }
+ }
+}
\ No newline at end of file
diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerModel.cs
new file mode 100644
index 0000000..b17084b
--- /dev/null
+++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerModel.cs
@@ -0,0 +1,50 @@
+using CoreModels.Tools;
+using ModuleTools.Attributes;
+using System;
+
+namespace CoreModels.ModelsDepartment
+{
+ [EntityDescription("Lecturer", "Преподаваетль кафедры")]
+ [EntityDependency("User", "UserId", "К какому пользователю относится преподаватель")]
+ [EntityDependency("LecturerAcademicRank", "LecturerAcademicRankId", "Какое звание имеет преподаватель")]
+ [EntityDependency("LecturerAcademicDegree", "LecturerAcademicDegreeId", "Какую степень имеет преподаватель")]
+ public interface ILecturerModel : IId
+ {
+ Guid UserId { get; }
+
+ Guid? LecturerAcademicRankId { get; }
+
+ Guid? LecturerAcademicDegreeId { get; }
+
+ string LastName { get; }
+
+ string FirstName { get; }
+
+ string Patronymic { get; }
+
+ string Abbreviation { 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; }
+
+ bool OnlyForPrivate { get; }
+
+ string GroupElectricalSafety { get; }
+ }
+}
\ No newline at end of file
diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerPostModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerPostModel.cs
new file mode 100644
index 0000000..5ed2036
--- /dev/null
+++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/ILecturerPostModel.cs
@@ -0,0 +1,23 @@
+using CoreModels.Tools;
+using ModuleTools.Attributes;
+using System;
+
+namespace CoreModels.ModelsDepartment
+{
+ [EntityDescription("LecturerPost", "Связь преподавателя и должность кафедры")]
+ [EntityDependency("Post", "PostId", "К какой должности относится преподаватель")]
+ [EntityDependency("Lecturer", "LecturerId", "К какой должности относится преподаватель")]
+ public interface ILecturerPostModel : IId
+ {
+ [CheckRigthForMap]
+ Guid LecturerId { get; }
+
+ Guid PostId { get; }
+
+ decimal Rate { get; }
+
+ bool IsInternalCombination { get; }
+
+ bool IsExternalCombination { get; }
+ }
+}
\ No newline at end of file
diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/Lecturer.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/Lecturer.cs
index ddbb54b..06be478 100644
--- a/DepartmentPortal/Common/DatabaseCore/Models/Department/Lecturer.cs
+++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/Lecturer.cs
@@ -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;
@@ -10,85 +10,62 @@ using System.Runtime.Serialization;
namespace DatabaseCore.Models.Department
{
- ///
- /// Класс, описывающий преподавателя
- ///
- [DataContract]
- [EntityDescription("Lecturer", "Преподаваетль кафедры")]
- [EntityDependency("User", "UserId", "К какому пользователю относится преподаватель")]
- [EntityDependency("LecturerAcademicRank", "LecturerAcademicRankId", "Какое звание имеет преподаватель")]
- [EntityDependency("LecturerAcademicDegree", "LecturerAcademicDegreeId", "Какую степень имеет преподаватель")]
- public class Lecturer : BaseEntity, IEntitySecurityExtenstion
+ [DataContract]
+ public class Lecturer : BaseEntity, IEntitySecurityExtenstion, ILecturerModel
{
[DataMember]
[Required]
- [MapConfiguration("UserId")]
public Guid UserId { get; set; }
[DataMember]
- [MapConfiguration("LecturerAcademicRankId")]
public Guid? LecturerAcademicRankId { get; set; }
[DataMember]
- [MapConfiguration("LecturerAcademicDegreeId")]
public Guid? LecturerAcademicDegreeId { get; set; }
[DataMember]
[Required]
- [MapConfiguration("LastName")]
public string LastName { get; set; }
[DataMember]
[Required]
- [MapConfiguration("FirstName")]
public string FirstName { get; set; }
[DataMember]
- [MapConfiguration("Patronymic")]
public string Patronymic { get; set; }
[DataMember]
- [MapConfiguration("Abbreviation")]
public string Abbreviation { get; set; }
[DataMember]
[Required]
- [MapConfiguration("DateBirth")]
public DateTime DateBirth { get; set; }
[DataMember]
[Required]
- [MapConfiguration("Address")]
public string Address { get; set; }
[DataMember]
[Required]
- [MapConfiguration("Email")]
public string Email { get; set; }
[DataMember]
[Required]
- [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("OnlyForPrivate")]
public bool OnlyForPrivate { get; set; }
[DataMember]
- [MapConfiguration("GroupElectricalSafety")]
public string GroupElectricalSafety { get; set; }
//-------------------------------------------------------------------------
diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicDegree.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicDegree.cs
index e6d98da..efc0a01 100644
--- a/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicDegree.cs
+++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicDegree.cs
@@ -1,4 +1,4 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
using ModuleTools.Interfaces;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -7,24 +7,17 @@ using System.Runtime.Serialization;
namespace DatabaseCore.Models.Department
{
- ///
- /// Класс, описывающий ученой степени преподавателя кафедры
- ///
- [DataContract]
- [EntityDescription("LecturerAcademicDegree", "Ученой степени преподавателя кафедры")]
- public class LecturerAcademicDegree : BaseEntity, IEntitySecurityExtenstion
+ [DataContract]
+ public class LecturerAcademicDegree : BaseEntity, IEntitySecurityExtenstion, ILecturerAcademicDegreeModel
{
[DataMember]
[Required]
- [MapConfiguration("LecturerAcademicDegreeName")]
public string LecturerAcademicDegreeName { get; set; }
[DataMember]
- [MapConfiguration("Description")]
public string Description { get; set; }
[DataMember]
- [MapConfiguration("Order")]
public int Order { get; set; }
//-------------------------------------------------------------------------
diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicRank.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicRank.cs
index ac86b3b..0764e63 100644
--- a/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicRank.cs
+++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerAcademicRank.cs
@@ -1,4 +1,4 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
using ModuleTools.Interfaces;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -7,20 +7,14 @@ using System.Runtime.Serialization;
namespace DatabaseCore.Models.Department
{
- ///
- /// Класс, описывающий ученое звание преподавателя кафедры
- ///
- [DataContract]
- [EntityDescription("LecturerAcademicRank", "Ученое звание преподавателя кафедры")]
- public class LecturerAcademicRank : BaseEntity, IEntitySecurityExtenstion
+ [DataContract]
+ public class LecturerAcademicRank : BaseEntity, IEntitySecurityExtenstion, ILecturerAcademicRankModel
{
[DataMember]
[Required]
- [MapConfiguration("LecturerAcademicRankName")]
public string LecturerAcademicRankName { get; set; }
[DataMember]
- [MapConfiguration("Order")]
public int Order { get; set; }
//-------------------------------------------------------------------------
diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerPost.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerPost.cs
index 493eb5a..364b97a 100644
--- a/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerPost.cs
+++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/LecturerPost.cs
@@ -1,4 +1,4 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
using ModuleTools.Interfaces;
using System;
using System.ComponentModel.DataAnnotations;
@@ -6,36 +6,25 @@ using System.Runtime.Serialization;
namespace DatabaseCore.Models.Department
{
- ///
- /// Класс, описывающий связь преподавателя и должность кафедры
- ///
- [DataContract]
- [EntityDescription("LecturerPost", "Связь преподавателя и должность кафедры")]
- [EntityDependency("Post", "PostId", "К какой должности относится преподаватель")]
- [EntityDependency("Lecturer", "LecturerId", "К какой должности относится преподаватель")]
- public class LecturerPost : BaseEntity, IEntitySecurityExtenstion
+ [DataContract]
+ public class LecturerPost : BaseEntity, IEntitySecurityExtenstion, ILecturerPostModel
{
[DataMember]
[Required]
- [MapConfiguration("LecturerId")]
public Guid LecturerId { get; set; }
[DataMember]
[Required]
- [MapConfiguration("PostId")]
public Guid PostId { get; set; }
[DataMember]
[Required]
- [MapConfiguration("Rate")]
public decimal Rate { get; set; }
[DataMember]
- [MapConfiguration("IsInternalCombination")]
public bool IsInternalCombination { get; set; }
[DataMember]
- [MapConfiguration("IsExternalCombination")]
public bool IsExternalCombination { get; set; }
//-------------------------------------------------------------------------
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicDegreeBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicDegreeBindingModels.cs
index 4ebc810..347f94b 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicDegreeBindingModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicDegreeBindingModels.cs
@@ -1,4 +1,4 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
using ModuleTools.BindingModels;
using System.ComponentModel.DataAnnotations;
@@ -14,17 +14,14 @@ namespace DepartmentBusinessLogic.BindingModels
///
/// Сохранение ученой степени преподавателя
///
- public class LecturerAcademicDegreeSetBindingModel : SetBindingModel
+ public class LecturerAcademicDegreeSetBindingModel : SetBindingModel, ILecturerAcademicDegreeModel
{
[Required(ErrorMessage = "required")]
- [MapConfiguration("LecturerAcademicDegreeName")]
public string LecturerAcademicDegreeName { get; set; }
- [MapConfiguration("Description")]
public string Description { get; set; }
[Required(ErrorMessage = "required")]
- [MapConfiguration("Order")]
public int Order { get; set; }
}
}
\ No newline at end of file
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicRankBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicRankBindingModels.cs
index 3c2e12b..7180882 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicRankBindingModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerAcademicRankBindingModels.cs
@@ -1,4 +1,5 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
+using ModuleTools.Attributes;
using ModuleTools.BindingModels;
using System.ComponentModel.DataAnnotations;
@@ -14,14 +15,12 @@ namespace DepartmentBusinessLogic.BindingModels
///
/// Сохранение ученого звания преподавателя
///
- public class LecturerAcademicRankSetBindingModel : SetBindingModel
+ public class LecturerAcademicRankSetBindingModel : SetBindingModel, ILecturerAcademicRankModel
{
[Required(ErrorMessage = "required")]
- [MapConfiguration("LecturerAcademicRankName")]
public string LecturerAcademicRankName { get; set; }
[Required(ErrorMessage = "required")]
- [MapConfiguration("Order")]
public int Order { get; set; }
}
}
\ No newline at end of file
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerBindingModels.cs
index d4177e7..0928952 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerBindingModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerBindingModels.cs
@@ -1,14 +1,14 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
using ModuleTools.BindingModels;
using System;
using System.ComponentModel.DataAnnotations;
namespace DepartmentBusinessLogic.BindingModels
{
- ///
- /// Получение преподавателя
- ///
- public class LecturerGetBindingModel : GetBindingModel
+ ///
+ /// Получение преподавателя
+ ///
+ public class LecturerGetBindingModel : GetBindingModel
{
public Guid? UserId { get; set; }
@@ -20,62 +20,46 @@ namespace DepartmentBusinessLogic.BindingModels
///
/// Сохранение преподавателя
///
- public class LecturerSetBindingModel : SetBindingModel
+ public class LecturerSetBindingModel : SetBindingModel, ILecturerModel
{
[Required(ErrorMessage = "required")]
- [MapConfiguration("UserId")]
public Guid UserId { get; set; }
- [MapConfiguration("LecturerAcademicRankId")]
public Guid? LecturerAcademicRankId { get; set; }
- [MapConfiguration("LecturerAcademicDegreeId")]
public Guid? LecturerAcademicDegreeId { 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; }
- [MapConfiguration("Abbreviation")]
public string Abbreviation { 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; }
- [MapConfiguration("OnlyForPrivate")]
public bool OnlyForPrivate { get; set; }
[Required(ErrorMessage = "required")]
- [MapConfiguration("GroupElectricalSafety")]
public string GroupElectricalSafety { get; set; }
}
}
\ No newline at end of file
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerPostBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerPostBindingModels.cs
index 74e9ff3..e13ee75 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerPostBindingModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/LecturerPostBindingModels.cs
@@ -1,14 +1,14 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
using ModuleTools.BindingModels;
using System;
using System.ComponentModel.DataAnnotations;
namespace DepartmentBusinessLogic.BindingModels
{
- ///
- /// Получение связи преподавателя с должностью
- ///
- public class LecturerPostGetBindingModel : GetBindingModel
+ ///
+ /// Получение связи преподавателя с должностью
+ ///
+ public class LecturerPostGetBindingModel : GetBindingModel
{
public Guid? LecturerId { get; set; }
@@ -18,24 +18,19 @@ namespace DepartmentBusinessLogic.BindingModels
///
/// Сохранение связи преподавателя с должностью
///
- public class LecturerPostSetBindingModel : SetBindingModel
+ public class LecturerPostSetBindingModel : SetBindingModel, ILecturerPostModel
{
[Required(ErrorMessage = "required")]
- [MapConfiguration("LecturerId")]
public Guid LecturerId { 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; }
}
}
\ No newline at end of file
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicDegreeViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicDegreeViewModels.cs
index 4609e1f..477ad4d 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicDegreeViewModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicDegreeViewModels.cs
@@ -1,13 +1,14 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
+using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
namespace DepartmentBusinessLogic.ViewModels
{
- ///
- /// Список должностей преподавателей
- ///
- public class LecturerAcademicDegreeListViewModel : ListViewModel { }
+ ///
+ /// Список должностей преподавателей
+ ///
+ public class LecturerAcademicDegreeListViewModel : ListViewModel { }
///
/// Элемент должности преподавателей
@@ -15,21 +16,18 @@ namespace DepartmentBusinessLogic.ViewModels
[ViewModelControlElementClass(HaveDependenceEntities = true, Width = 800, Height = 500)]
[ViewModelControlElementDependenceEntity(Title = "Преподаватели", Order = 1, ParentPropertyName = "LecturerAcademicDegreeId",
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerList, DepartmentWindowsDesktop")]
- public class LecturerAcademicDegreeViewModel : ElementViewModel
+ public class LecturerAcademicDegreeViewModel : ElementViewModel, ILecturerAcademicDegreeModel
{
[ViewModelControlListProperty("Ученая степень")]
[ViewModelControlElementProperty("Ученая степень", ControlType.ControlString, MustHaveValue = true)]
- [MapConfiguration("LecturerAcademicDegreeName")]
public string LecturerAcademicDegreeName { get; set; }
[ViewModelControlListProperty("Описание")]
[ViewModelControlElementProperty("Описание", ControlType.ControlString)]
- [MapConfiguration("Description")]
public string Description { get; set; }
[ViewModelControlListProperty("Порядок", ColumnWidth = 100)]
[ViewModelControlElementProperty("Порядок", ControlType.ControlInt, MustHaveValue = true)]
- [MapConfiguration("Order")]
public int Order { get; set; }
}
}
\ No newline at end of file
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicRankViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicRankViewModels.cs
index 37d90ff..0725ca3 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicRankViewModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerAcademicRankViewModels.cs
@@ -1,13 +1,14 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
+using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
namespace DepartmentBusinessLogic.ViewModels
{
- ///
- /// Список должностей преподавателей
- ///
- public class LecturerAcademicRankListViewModel : ListViewModel { }
+ ///
+ /// Список должностей преподавателей
+ ///
+ public class LecturerAcademicRankListViewModel : ListViewModel { }
///
/// Элемент должности преподавателей
@@ -15,16 +16,14 @@ namespace DepartmentBusinessLogic.ViewModels
[ViewModelControlElementClass(HaveDependenceEntities = true, Width = 800, Height = 500)]
[ViewModelControlElementDependenceEntity(Title = "Преподаватели", Order = 1, ParentPropertyName = "LecturerAcademicRankId",
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerList, DepartmentWindowsDesktop")]
- public class LecturerAcademicRankViewModel : ElementViewModel
+ public class LecturerAcademicRankViewModel : ElementViewModel, ILecturerAcademicRankModel
{
[ViewModelControlListProperty("Ученая степень")]
[ViewModelControlElementProperty("Ученая степень", ControlType.ControlString, MustHaveValue = true)]
- [MapConfiguration("LecturerAcademicRankName")]
public string LecturerAcademicRankName { get; set; }
[ViewModelControlListProperty("Порядок", ColumnWidth = 100)]
[ViewModelControlElementProperty("Порядок", ControlType.ControlInt, MustHaveValue = true)]
- [MapConfiguration("Order")]
public int Order { get; set; }
}
}
\ No newline at end of file
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerPostViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerPostViewModels.cs
index e88e963..33e01dd 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerPostViewModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerPostViewModels.cs
@@ -1,23 +1,23 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
+using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
using System;
namespace DepartmentBusinessLogic.ViewModels
{
- ///
- /// Список связей преподавателей и должностей
- ///
- public class LecturerPostListViewModel : ListViewModel { }
+ ///
+ /// Список связей преподавателей и должностей
+ ///
+ public class LecturerPostListViewModel : ListViewModel { }
///
/// Связь преподавателя и должности
///
[ViewModelControlElementClass()]
- public class LecturerPostViewModel : ElementViewModel
+ public class LecturerPostViewModel : ElementViewModel, ILecturerPostModel
{
[ViewModelControlElementProperty("Сотрудник", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerList, DepartmentWindowsDesktop")]
- [MapConfiguration("LecturerId", AllowCopyWithoutRigth = false)]
public Guid LecturerId { get; set; }
[ViewModelControlListProperty("Преподаватель")]
@@ -25,7 +25,6 @@ namespace DepartmentBusinessLogic.ViewModels
public string LecturerName { 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)]
diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerViewModels.cs
index 3e76831..cd70336 100644
--- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerViewModels.cs
+++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/LecturerViewModels.cs
@@ -1,4 +1,5 @@
-using ModuleTools.Attributes;
+using CoreModels.ModelsDepartment;
+using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
using System;
@@ -20,14 +21,12 @@ namespace DepartmentBusinessLogic.ViewModels
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEducationDirectionList, DepartmentWindowsDesktop")]
[ViewModelControlElementDependenceEntity(Title = "Кураторство групп", Order = 3, ParentPropertyName = "LecturerId",
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlStudentGroupList, DepartmentWindowsDesktop")]
- public class LecturerViewModel : ElementViewModel
+ public class LecturerViewModel : ElementViewModel, ILecturerModel
{
[ViewModelControlElementProperty("Пользователь", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "SecurityWindowsDesktop.EntityControls.ControlUserList, SecurityWindowsDesktop")]
- [MapConfiguration("UserId")]
public Guid UserId { get; set; }
[ViewModelControlElementProperty("Уч. степень", ControlType.ControlGuid, MustHaveValue = false, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerAcademicDegreeList, DepartmentWindowsDesktop")]
- [MapConfiguration("LecturerAcademicDegreeId")]
public Guid? LecturerAcademicDegreeId { get; set; }
[ViewModelControlListProperty("Уч. степень")]
@@ -35,7 +34,6 @@ namespace DepartmentBusinessLogic.ViewModels
public string LecturerAcademicDegree { get; set; }
[ViewModelControlElementProperty("Уч. звание", ControlType.ControlGuid, MustHaveValue = false, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerAcademicRankList, DepartmentWindowsDesktop")]
- [MapConfiguration("LecturerAcademicRankId")]
public Guid? LecturerAcademicRankId { get; set; }
[ViewModelControlListProperty("Уч. звание")]
@@ -44,63 +42,50 @@ namespace DepartmentBusinessLogic.ViewModels
[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; }
[ViewModelControlElementProperty("Аббревиатура", ControlType.ControlString)]
- [MapConfiguration("Abbreviation")]
public string Abbreviation { 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; }
[ViewModelControlElementProperty("Для внутр. пользования", ControlType.ControlBool, MustHaveValue = true)]
- [MapConfiguration("OnlyForPrivate")]
public bool OnlyForPrivate { get; set; }
[ViewModelControlListProperty("Гр. эл.без.", ColumnWidth = 90)]
[ViewModelControlElementProperty("Группа эл.безоп", ControlType.ControlString, MustHaveValue = true)]
- [MapConfiguration("GroupElectricalSafety")]
public string GroupElectricalSafety { get; set; }
}
}
\ No newline at end of file