diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/Enums/ClassroomType.cs b/DepartmentPortal/Common/CoreModels/Enums/Department/ClassroomType.cs similarity index 86% rename from DepartmentPortal/Department/DepartmentBusinessLogic/Enums/ClassroomType.cs rename to DepartmentPortal/Common/CoreModels/Enums/Department/ClassroomType.cs index 17d4344..3324008 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/Enums/ClassroomType.cs +++ b/DepartmentPortal/Common/CoreModels/Enums/Department/ClassroomType.cs @@ -1,9 +1,9 @@ -namespace DepartmentBusinessLogic.Enums +namespace CoreModels.Enums.Department { - /// - /// Типы аудиторий - /// - public enum ClassroomType + /// + /// Типы аудиторий + /// + public enum ClassroomType { /// /// Класс для лабораторных занятий с компьютерами @@ -35,4 +35,4 @@ /// Служебный = 5 } -} \ No newline at end of file +} diff --git a/DepartmentPortal/Common/CoreModels/Enums/Department/EducationDirectionQualification.cs b/DepartmentPortal/Common/CoreModels/Enums/Department/EducationDirectionQualification.cs new file mode 100644 index 0000000..41e4186 --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/Enums/Department/EducationDirectionQualification.cs @@ -0,0 +1,12 @@ +namespace CoreModels.Enums.Department +{ + /// + /// Уровни обучения + /// + public enum EducationDirectionQualification + { + Бакалавриат = 0, + + Магистратура = 1 + } +} diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/Enums/Semester.cs b/DepartmentPortal/Common/CoreModels/Enums/Department/Semester.cs similarity index 55% rename from DepartmentPortal/Department/DepartmentBusinessLogic/Enums/Semester.cs rename to DepartmentPortal/Common/CoreModels/Enums/Department/Semester.cs index 4a65fb2..ee0f0a8 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/Enums/Semester.cs +++ b/DepartmentPortal/Common/CoreModels/Enums/Department/Semester.cs @@ -1,9 +1,9 @@ -namespace DepartmentBusinessLogic.Enums +namespace CoreModels.Enums.Department { - /// - /// Семестр обучения - /// - public enum Semester + /// + /// Семестр обучения + /// + public enum Semester { Первый = 1, @@ -21,4 +21,4 @@ Восьмой = 8 } -} \ No newline at end of file +} diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanModel.cs new file mode 100644 index 0000000..2ecd3de --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanModel.cs @@ -0,0 +1,17 @@ +using CoreModels.Tools; +using ModuleTools.Attributes; +using System; + +namespace CoreModels.ModelsDepartment +{ + [EntityDescription("AcademicPlan", "Учебный план кафедры (на каждый учебный год новый план)")] + [EntityDependency("EducationDirection", "EducationDirectionId", "Направление, к которму относится учебный план")] + public interface IAcademicPlanModel : IId + { + Guid? EducationDirectionId { get; } + + int YearEntrance { get; } + + int YearFinish { get; } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanRecordModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanRecordModel.cs new file mode 100644 index 0000000..7d1ca00 --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanRecordModel.cs @@ -0,0 +1,35 @@ +using CoreModels.Enums.Department; +using CoreModels.Tools; +using ModuleTools.Attributes; +using System; + +namespace CoreModels.ModelsDepartment +{ + [EntityDescription("AcademicPlanRecord", "Запись учебного плана кафедры")] + [EntityDependency("AcademicPlan", "AcademicPlanId", "Учебный план, к которму относится запись")] + [EntityDependency("Discipline", "DisciplineId", "Дисциплина, которая указана в записи плана")] + public interface IAcademicPlanRecordModel : IId + { + Guid AcademicPlanId { get; } + + Guid DisciplineId { get; } + + Semester Semester { get; } + + int Zet { get; } + + bool InDepartment { get; } + + Guid? AcademicPlanRecordParentId { get; } + + /// + /// Является родительской для дисциплин по выбору + /// + bool IsParent { get; } + + /// + /// Является факультативной дисциплиной + /// + bool IsFacultative { get; } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanRecordTimeNormHourModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanRecordTimeNormHourModel.cs new file mode 100644 index 0000000..dd27105 --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IAcademicPlanRecordTimeNormHourModel.cs @@ -0,0 +1,18 @@ +using CoreModels.Tools; +using ModuleTools.Attributes; +using System; + +namespace CoreModels.ModelsDepartment +{ + [EntityDescription("AcademicPlanRecordTimeNormHour", "Часы нагрузки записи учебного плана")] + [EntityDependency("AcademicPlanRecord", "AcademicPlanRecordId", "Запись учебного плана, к которой относятся часы")] + [EntityDependency("TimeNorm", "TimeNormId", "Норма времени, к которой относятся часы")] + public interface IAcademicPlanRecordTimeNormHourModel : IId + { + Guid AcademicPlanRecordId { get; } + + Guid TimeNormId { get; } + + decimal PlanHours { get; } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/IClassroomModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IClassroomModel.cs new file mode 100644 index 0000000..1566a08 --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IClassroomModel.cs @@ -0,0 +1,32 @@ +using CoreModels.Enums.Department; +using CoreModels.Tools; +using ModuleTools.Attributes; +using System; + +namespace CoreModels.ModelsDepartment +{ + [EntityDescription("Classroom", "Аудитрия кафедры")] + [EntityDependency("Employee", "EmployeeId", "Сотрудник, отвечающий за аудиторию")] + public interface IClassroomModel : IId + { + string Number { get; } + + string Title { get; } + + Guid EmployeeId { get; } + + ClassroomType ClassroomType { get; } + + decimal Square { get; } + + int Capacity { get; } + + string SecurityCode { get; } + + bool HaveProjector { get; } + + string Description { get; } + + byte[] Photo { get; } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/IDisciplineBlockModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IDisciplineBlockModel.cs new file mode 100644 index 0000000..a516545 --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IDisciplineBlockModel.cs @@ -0,0 +1,17 @@ +using CoreModels.Tools; +using ModuleTools.Attributes; + +namespace CoreModels.ModelsDepartment +{ + [EntityDescription("DisciplineBlock", "Аудитрия кафедры")] + public interface IDisciplineBlockModel : IId + { + string Title { get; } + + bool DisciplineBlockUseForGrouping { get; } + + int DisciplineBlockOrder { get; } + + string DisciplineBlockBlueAsteriskName { get; } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/IDisciplineModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IDisciplineModel.cs new file mode 100644 index 0000000..2c9ded0 --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IDisciplineModel.cs @@ -0,0 +1,21 @@ +using CoreModels.Tools; +using ModuleTools.Attributes; +using System; + +namespace CoreModels.ModelsDepartment +{ + [EntityDescription("Discipline", "Дисципилна кафедры")] + [EntityDependency("DisciplineBlock", "DisciplineBlockId", "Блок дисцпилн, к которому относится дисциплина")] + public interface IDisciplineModel : IId + { + Guid DisciplineBlockId { get; } + + string DisciplineName { get; } + + string DisciplineShortName { get; } + + string Description { get; } + + string DisciplineBlueAsteriskName { get; } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Common/CoreModels/ModelsDepartment/IEducationDirectionModel.cs b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IEducationDirectionModel.cs new file mode 100644 index 0000000..df98d5b --- /dev/null +++ b/DepartmentPortal/Common/CoreModels/ModelsDepartment/IEducationDirectionModel.cs @@ -0,0 +1,26 @@ +using CoreModels.Enums.Department; +using CoreModels.Tools; +using ModuleTools.Attributes; +using System; + +namespace CoreModels.ModelsDepartment +{ + [EntityDescription("EducationDirection", "Направление обучения кафедры")] + [EntityDependency("Lecturer", "LecturerId", "Преподаватель, руководитель напарвления")] + public interface IEducationDirectionModel : IId + { + string Cipher { get; } + + string ShortName { get; } + + string Title { get; } + + string Profile { get; } + + EducationDirectionQualification Qualification { get; } + + Guid LecturerId { get; } + + string Description { get; } + } +} \ No newline at end of file diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlan.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlan.cs index cd1c907..fea4241 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlan.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlan.cs @@ -1,4 +1,4 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; using ModuleTools.Interfaces; using System; using System.Collections.Generic; @@ -8,26 +8,18 @@ using System.Runtime.Serialization; namespace DatabaseCore.Models.Department { - /// - /// Класс, описывающий учебный план кафедры - /// - [DataContract] - [EntityDescription("AcademicPlan", "Учебный план кафедры")] - [EntityDependency("EducationDirection", "EducationDirectionId", "Направление, к которму относится учебный план")] - public class AcademicPlan : BaseEntity, IEntitySecurityExtenstion - { + [DataContract] + public class AcademicPlan : BaseEntity, IEntitySecurityExtenstion, IAcademicPlanModel + { [DataMember] - [MapConfiguration("EducationDirectionId")] public Guid? EducationDirectionId { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("YearEntrance")] public int YearEntrance { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("YearFinish")] public int YearFinish { get; set; } //------------------------------------------------------------------------- diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecord.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecord.cs index 38c167d..e8c44dd 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecord.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecord.cs @@ -1,4 +1,5 @@ -using ModuleTools.Attributes; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.Interfaces; using System; using System.Collections.Generic; @@ -8,50 +9,36 @@ using System.Runtime.Serialization; namespace DatabaseCore.Models.Department { - /// - /// Класс, описывающий запись учебного плана кафедры - /// - [DataContract] - [EntityDescription("AcademicPlanRecord", "Запись учебного плана кафедры")] - [EntityDependency("AcademicPlan", "AcademicPlanId", "Учебный план, к которму относится запись")] - [EntityDependency("Discipline", "DisciplineId", "Дисциплина, которая указана в записи плана")] - public class AcademicPlanRecord : BaseEntity, IEntitySecurityExtenstion + [DataContract] + public class AcademicPlanRecord : BaseEntity, IEntitySecurityExtenstion, IAcademicPlanRecordModel { [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("AcademicPlanId")] public Guid AcademicPlanId { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineId")] public Guid DisciplineId { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("InDepartment")] public bool InDepartment { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Semester")] - public int Semester { get; set; } + public Semester Semester { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Zet")] public int Zet { get; set; } [DataMember] - [MapConfiguration("AcademicPlanRecordParentId")] public Guid? AcademicPlanRecordParentId { get; set; } [DataMember] - [MapConfiguration("IsParent")] public bool IsParent { get; set; } [DataMember] - [MapConfiguration("IsFacultative")] public bool IsFacultative { get; set; } //------------------------------------------------------------------------- diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecordTimeNormHour.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecordTimeNormHour.cs index 12c7473..a7f0d01 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecordTimeNormHour.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/AcademicPlanRecordTimeNormHour.cs @@ -1,4 +1,4 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; using ModuleTools.Interfaces; using System; using System.ComponentModel.DataAnnotations; @@ -6,28 +6,19 @@ using System.Runtime.Serialization; namespace DatabaseCore.Models.Department { - /// - /// Класс, описывающий часы нагрузок записей учебных планов кафедры - /// - [DataContract] - [EntityDescription("AcademicPlanRecordTimeNormHour", "Часы нагрузки записи учебного плана")] - [EntityDependency("AcademicPlanRecord", "AcademicPlanRecordId", "Запись учебного плана, к которой относятся часы")] - [EntityDependency("TimeNorm", "TimeNormId", "Норма времени, к которой относятся часы")] - public class AcademicPlanRecordTimeNormHour : BaseEntity, IEntitySecurityExtenstion + [DataContract] + public class AcademicPlanRecordTimeNormHour : BaseEntity, IEntitySecurityExtenstion, IAcademicPlanRecordTimeNormHourModel { [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("AcademicPlanRecordId")] public Guid AcademicPlanRecordId { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("TimeNormId")] public Guid TimeNormId { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("PlanHours")] public decimal PlanHours { get; set; } //------------------------------------------------------------------------- diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/Classroom.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/Classroom.cs index 115cdc6..dabb565 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/Classroom.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/Classroom.cs @@ -1,4 +1,5 @@ -using ModuleTools.Attributes; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.Interfaces; using System; using System.ComponentModel.DataAnnotations; @@ -6,57 +7,42 @@ using System.Runtime.Serialization; namespace DatabaseCore.Models.Department { - /// - /// Класс, описывающий аудиторию кафедры - /// - [DataContract] - [EntityDescription("Classroom", "Аудитрия кафедры")] - [EntityDependency("Employee", "EmployeeId", "Сотрудник, отвечающий за аудиторию")] - public class Classroom : BaseEntity, IEntitySecurityExtenstion + [DataContract] + public class Classroom : BaseEntity, IEntitySecurityExtenstion, IClassroomModel { [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Number")] public string Number { get; set; } [DataMember] - [MapConfiguration("Title")] public string Title { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("EmployeeId")] public Guid EmployeeId { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("ClassroomType")] - public int ClassroomType { get; set; } + public ClassroomType ClassroomType { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Square")] public decimal Square { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Capacity")] public int Capacity { get; set; } [DataMember] - [MapConfiguration("SecurityCode")] public string SecurityCode { get; set; } [DataMember] - [MapConfiguration("HaveProjector")] public bool HaveProjector { get; set; } [DataMember] - [MapConfiguration("Description")] public string Description { get; set; } [DataMember] - [MapConfiguration("Photo")] public byte[] Photo { get; set; } //------------------------------------------------------------------------- diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/Discipline.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/Discipline.cs index caa0e62..8cbd5ad 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/Discipline.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/Discipline.cs @@ -1,4 +1,4 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; using ModuleTools.Interfaces; using System; using System.Collections.Generic; @@ -8,33 +8,26 @@ using System.Runtime.Serialization; namespace DatabaseCore.Models.Department { - /// - /// Класс, описывающий дисципилну кафедры - /// - [DataContract] - [EntityDescription("Discipline", "Дисципилна кафедры")] - [EntityDependency("DisciplineBlock", "DisciplineBlockId", "Блок дисцпилн, к которому относится дисциплина")] - public class Discipline : BaseEntity, IEntitySecurityExtenstion + /// + /// Класс, описывающий дисципилну кафедры + /// + [DataContract] + public class Discipline : BaseEntity, IEntitySecurityExtenstion, IDisciplineModel { [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineBlockId")] public Guid DisciplineBlockId { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineName")] public string DisciplineName { get; set; } [DataMember] - [MapConfiguration("DisciplineShortName")] public string DisciplineShortName { get; set; } [DataMember] - [MapConfiguration("Description")] public string Description { get; set; } - [MapConfiguration("DisciplineBlueAsteriskName")] public string DisciplineBlueAsteriskName { get; set; } //------------------------------------------------------------------------- diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/DisciplineBlock.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/DisciplineBlock.cs index 8dd154d..8642ba7 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/DisciplineBlock.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/DisciplineBlock.cs @@ -1,4 +1,4 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; using ModuleTools.Interfaces; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; @@ -7,28 +7,20 @@ using System.Runtime.Serialization; namespace DatabaseCore.Models.Department { - /// - /// Класс, описывающий блок дисциплин - /// - [DataContract] - [EntityDescription("DisciplineBlock", "Аудитрия кафедры")] - public class DisciplineBlock : BaseEntity, IEntitySecurityExtenstion - { + [DataContract] + public class DisciplineBlock : BaseEntity, IEntitySecurityExtenstion, IDisciplineBlockModel + { [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Title")] public string Title { get; set; } [DataMember] - [MapConfiguration("DisciplineBlockUseForGrouping")] public bool DisciplineBlockUseForGrouping { get; set; } [DataMember] - [MapConfiguration("DisciplineBlockOrder")] public int DisciplineBlockOrder { get; set; } [DataMember] - [MapConfiguration("DisciplineBlockBlueAsteriskName")] public string DisciplineBlockBlueAsteriskName { get; set; } //------------------------------------------------------------------------- diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/EducationDirection.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/EducationDirection.cs index b7b0c00..7a1bcf3 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/EducationDirection.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/EducationDirection.cs @@ -1,4 +1,5 @@ -using ModuleTools.Attributes; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.Interfaces; using System; using System.Collections.Generic; @@ -8,43 +9,34 @@ using System.Runtime.Serialization; namespace DatabaseCore.Models.Department { - /// - /// Класс, описывающий направление обучения кафедры - /// - [DataContract] - [EntityDescription("EducationDirection", "Направление обучения кафедры")] - [EntityDependency("Lecturer", "LecturerId", "Преподаватель, руководитель напарвления")] - public class EducationDirection : BaseEntity, IEntitySecurityExtenstion - { + /// + /// Класс, описывающий направление обучения кафедры + /// + [DataContract] + public class EducationDirection : BaseEntity, IEntitySecurityExtenstion, IEducationDirectionModel + { [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Cipher")] public string Cipher { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("ShortName")] public string ShortName { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Title")] public string Title { get; set; } - [MapConfiguration("Profile")] public string Profile { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("Qualification")] - public int Qualification { get; set; } + public EducationDirectionQualification Qualification { get; set; } [DataMember] [Required(ErrorMessage = "required")] - [MapConfiguration("LecturerId")] public Guid LecturerId { get; set; } - [MapConfiguration("Description")] public string Description { get; set; } //------------------------------------------------------------------------- diff --git a/DepartmentPortal/Common/DatabaseCore/Models/Department/TimeNorm.cs b/DepartmentPortal/Common/DatabaseCore/Models/Department/TimeNorm.cs index 10a36aa..3149d32 100644 --- a/DepartmentPortal/Common/DatabaseCore/Models/Department/TimeNorm.cs +++ b/DepartmentPortal/Common/DatabaseCore/Models/Department/TimeNorm.cs @@ -1,4 +1,5 @@ -using ModuleTools.Attributes; +using CoreModels.Enums.Department; +using ModuleTools.Attributes; using ModuleTools.Interfaces; using System; using System.Collections.Generic; @@ -38,7 +39,7 @@ namespace DatabaseCore.Models.Department [DataMember] [MapConfiguration("TimeNormEducationDirectionQualification")] - public int? TimeNormEducationDirectionQualification { get; set; } + public EducationDirectionQualification? TimeNormEducationDirectionQualification { get; set; } [DataMember] [Required(ErrorMessage = "required")] diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanBindingModels.cs index 425274b..edf6e1b 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanBindingModels.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 AcademicPlanGetBindingModel : GetBindingModel + /// + /// Получение учебного года + /// + public class AcademicPlanGetBindingModel : GetBindingModel { public Guid? EducationDirectionId { get; set; } } @@ -16,17 +16,14 @@ namespace DepartmentBusinessLogic.BindingModels /// /// Сохранение учебного года /// - public class AcademicPlanSetBindingModel : SetBindingModel + public class AcademicPlanSetBindingModel : SetBindingModel, IAcademicPlanModel { - [MapConfiguration("EducationDirectionId")] public Guid? EducationDirectionId { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("YearEntrance")] public int YearEntrance { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("YearFinish")] public int YearFinish { get; set; } } diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordBindingModels.cs index c05a5d0..fc612d6 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordBindingModels.cs @@ -1,15 +1,15 @@ -using DepartmentBusinessLogic.Enums; -using ModuleTools.Attributes; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.BindingModels; using System; using System.ComponentModel.DataAnnotations; namespace DepartmentBusinessLogic.BindingModels { - /// - /// Получение записи учебного плана - /// - public class AcademicPlanRecordGetBindingModel : GetBindingModel + /// + /// Получение записи учебного плана + /// + public class AcademicPlanRecordGetBindingModel : GetBindingModel { public Guid? AcademicPlanId { get; set; } @@ -21,41 +21,27 @@ namespace DepartmentBusinessLogic.BindingModels /// /// Сохранение записи учебного плана /// - public class AcademicPlanRecordSetBindingModel : SetBindingModel + public class AcademicPlanRecordSetBindingModel : SetBindingModel, IAcademicPlanRecordModel { [Required(ErrorMessage = "required")] - [MapConfiguration("AcademicPlanId")] public Guid AcademicPlanId { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineId")] public Guid DisciplineId { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("InDepartment")] public bool InDepartment { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("Semester")] public Semester Semester { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("Zet")] public int Zet { get; set; } - [MapConfiguration("AcademicPlanRecordParentId")] public Guid? AcademicPlanRecordParentId { get; set; } - /// - /// Является родительской для дисциплин по выбору - /// - [MapConfiguration("IsParent")] public bool IsParent { get; set; } - /// - /// Является факультативной дисциплиной - /// - [MapConfiguration("IsFacultative")] public bool IsFacultative { get; set; } - } + } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordTimeNormHourBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordTimeNormHourBindingModels.cs index ef1e1ab..068b646 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordTimeNormHourBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/AcademicPlanRecordTimeNormHourBindingModels.cs @@ -1,4 +1,4 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; using ModuleTools.BindingModels; using System; using System.ComponentModel.DataAnnotations; @@ -18,18 +18,15 @@ namespace DepartmentBusinessLogic.BindingModels /// /// Сохранение часов по норме времени для записи учебного плана /// - public class AcademicPlanRecordTimeNormHourSetBindingModel : SetBindingModel + public class AcademicPlanRecordTimeNormHourSetBindingModel : SetBindingModel, IAcademicPlanRecordTimeNormHourModel { [Required(ErrorMessage = "required")] - [MapConfiguration("AcademicPlanRecordId")] public Guid AcademicPlanRecordId { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("TimeNormId")] public Guid TimeNormId { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("PlanHours")] public decimal PlanHours { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/ClassroomBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/ClassroomBindingModels.cs index 768a516..86b05e4 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/ClassroomBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/ClassroomBindingModels.cs @@ -1,5 +1,5 @@ -using DepartmentBusinessLogic.Enums; -using ModuleTools.Attributes; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.BindingModels; using System; using System.ComponentModel.DataAnnotations; @@ -25,41 +25,31 @@ namespace DepartmentBusinessLogic.BindingModels /// /// Сохранение аудитории /// - public class ClassroomSetBindingModel : SetBindingModel + public class ClassroomSetBindingModel : SetBindingModel, IClassroomModel { [Required(ErrorMessage = "required")] - [MapConfiguration("Number")] public string Number { get; set; } - [MapConfiguration("Title")] public string Title { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("EmployeeId")] public Guid EmployeeId { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("ClassroomType")] public ClassroomType ClassroomType { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("Square")] public decimal Square { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("Capacity")] public int Capacity { get; set; } - [MapConfiguration("SecurityCode")] public string SecurityCode { get; set; } - [MapConfiguration("HaveProjector")] public bool HaveProjector { get; set; } - [MapConfiguration("Description")] public string Description { get; set; } - [MapConfiguration("Photo")] public byte[] Photo { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBindingModels.cs index 3dd2ce6..9c27fac 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBindingModels.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 DisciplineGetBindingModel : GetBindingModel + /// + /// Получение дисциплины + /// + public class DisciplineGetBindingModel : GetBindingModel { /// /// Выбрка по блокам @@ -24,36 +24,29 @@ namespace DepartmentBusinessLogic.BindingModels /// /// Сохранение дисциплины /// - public class DisciplineSetBindingModel : SetBindingModel + public class DisciplineSetBindingModel : SetBindingModel, IDisciplineModel { [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineBlockId")] public Guid DisciplineBlockId { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineName")] public string DisciplineName { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineShortName")] public string DisciplineShortName { get; set; } - [MapConfiguration("Description")] public string Description { get; set; } - [MapConfiguration("DisciplineBlueAsteriskName")] public string DisciplineBlueAsteriskName { get; set; } /// /// Используется только в расчетах, не сохраняется /// - [MapConfiguration("DisciplineBlueAsteriskCode")] public string DisciplineBlueAsteriskCode { get; set; } /// /// Используется только в расчетах, не сохраняется /// - [MapConfiguration("DisciplineBlueAsteriskPracticCode")] public string DisciplineBlueAsteriskPracticCode { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBlockBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBlockBindingModels.cs index 02d2c90..8245e23 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBlockBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/DisciplineBlockBindingModels.cs @@ -1,4 +1,4 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; using ModuleTools.BindingModels; using System.ComponentModel.DataAnnotations; @@ -14,20 +14,16 @@ namespace DepartmentBusinessLogic.BindingModels /// /// Сохранение блока дисциплин /// - public class DisciplineBlockSetBindingModel : SetBindingModel + public class DisciplineBlockSetBindingModel : SetBindingModel, IDisciplineBlockModel { [Required(ErrorMessage = "required")] - [MapConfiguration("Title")] public string Title { get; set; } - [MapConfiguration("DisciplineBlockUseForGrouping")] public bool DisciplineBlockUseForGrouping { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("DisciplineBlockOrder")] public int DisciplineBlockOrder { get; set; } - [MapConfiguration("DisciplineBlockBlueAsteriskName")] public string DisciplineBlockBlueAsteriskName { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/EducationDirectionBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/EducationDirectionBindingModels.cs index ab07058..35e1445 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/EducationDirectionBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/EducationDirectionBindingModels.cs @@ -1,15 +1,15 @@ -using DepartmentBusinessLogic.Enums; -using ModuleTools.Attributes; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.BindingModels; using System; using System.ComponentModel.DataAnnotations; namespace DepartmentBusinessLogic.BindingModels { - /// - /// Получение направления обучения - /// - public class EducationDirectionGetBindingModel : GetBindingModel + /// + /// Получение направления обучения + /// + public class EducationDirectionGetBindingModel : GetBindingModel { /// /// Вывод направлений, закрепленных за преподавателем @@ -20,32 +20,25 @@ namespace DepartmentBusinessLogic.BindingModels /// /// Сохранение направления обучения /// - public class EducationDirectionSetBindingModel : SetBindingModel + public class EducationDirectionSetBindingModel : SetBindingModel, IEducationDirectionModel { [Required(ErrorMessage = "required")] - [MapConfiguration("Cipher")] public string Cipher { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("ShortName")] public string ShortName { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("Title")] public string Title { get; set; } - [MapConfiguration("Profile")] public string Profile { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("Qualification")] public EducationDirectionQualification Qualification { get; set; } [Required(ErrorMessage = "required")] - [MapConfiguration("LecturerId")] public Guid LecturerId { get; set; } - [MapConfiguration("Description")] public string Description { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/TimeNormBindingModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/TimeNormBindingModels.cs index 54b58d4..c1f790e 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/TimeNormBindingModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/BindingModels/TimeNormBindingModels.cs @@ -1,4 +1,4 @@ -using DepartmentBusinessLogic.Enums; +using CoreModels.Enums.Department; using ModuleTools.Attributes; using ModuleTools.BindingModels; using System; diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/Enums/EducationDirectionQualification.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/Enums/EducationDirectionQualification.cs deleted file mode 100644 index 83223f7..0000000 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/Enums/EducationDirectionQualification.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace DepartmentBusinessLogic.Enums -{ - /// - /// Уровни обучения - /// - public enum EducationDirectionQualification - { - Бакалавриат = 0, - - Магистратура = 1 - } -} \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordTimeNormHourViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordTimeNormHourViewModels.cs index 94f6fe0..9ed3fc3 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordTimeNormHourViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordTimeNormHourViewModels.cs @@ -1,4 +1,5 @@ -using DepartmentBusinessLogic.Enums; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; @@ -6,19 +7,18 @@ using System; namespace DepartmentBusinessLogic.ViewModels { - /// - /// Список часов по нагрузке для записи учебного плана - /// - public class AcademicPlanRecordTimeNormHourListViewModel : ListViewModel { } + /// + /// Список часов по нагрузке для записи учебного плана + /// + public class AcademicPlanRecordTimeNormHourListViewModel : ListViewModel { } /// /// Элемент часов по нагрузке для записи учебного плана /// [ViewModelControlElementClass()] - public class AcademicPlanRecordTimeNormHourViewModel : ElementViewModel + public class AcademicPlanRecordTimeNormHourViewModel : ElementViewModel, IAcademicPlanRecordTimeNormHourModel { [ViewModelControlElementProperty("Запись учебного плана", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlAcademicPlanRecordList, DepartmentWindowsDesktop")] - [MapConfiguration("AcademicPlanRecordId")] public Guid AcademicPlanRecordId { get; set; } [ViewModelControlListProperty("Дисциплина")] @@ -32,7 +32,6 @@ namespace DepartmentBusinessLogic.ViewModels public string SemesterTitle => Semester.ToString("G"); [ViewModelControlElementProperty("Норма времени", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlTimeNormList, DepartmentWindowsDesktop")] - [MapConfiguration("TimeNormId")] public Guid TimeNormId { get; set; } [ViewModelControlListProperty("Норма времени")] @@ -41,7 +40,6 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlListProperty("Часы", ColumnWidth = 80)] [ViewModelControlElementProperty("Часы", ControlType.ControlDecimal, MustHaveValue = true)] - [MapConfiguration("PlanHours")] public decimal PlanHours { get; set; } public override string ToString() => $"{DisciplineName}({Semester}) - {TimeNormName}"; diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordViewModels.cs index f0e2ea4..a8c59a6 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanRecordViewModels.cs @@ -1,4 +1,5 @@ -using DepartmentBusinessLogic.Enums; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; @@ -6,10 +7,10 @@ using System; namespace DepartmentBusinessLogic.ViewModels { - /// - /// Список аудиторий - /// - public class AcademicPlanRecordListViewModel : ListViewModel { } + /// + /// Список аудиторий + /// + public class AcademicPlanRecordListViewModel : ListViewModel { } /// /// Элемент аудитории @@ -17,14 +18,12 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlElementClass(HaveDependenceEntities = true, Width = 800, Height = 500)] [ViewModelControlElementDependenceEntity(Title = "Часы по нагрузкам", Order = 1, ParentPropertyName = "AcademicPlanRecordId", ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlAcademicPlanRecordTimeNormHourList, DepartmentWindowsDesktop")] - public class AcademicPlanRecordViewModel : ElementViewModel + public class AcademicPlanRecordViewModel : ElementViewModel, IAcademicPlanRecordModel { [ViewModelControlElementProperty("Учебный план", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlAcademicPlanList, DepartmentWindowsDesktop")] - [MapConfiguration("AcademicPlanId")] public Guid AcademicPlanId { get; set; } [ViewModelControlElementProperty("Дисциплина", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineList, DepartmentWindowsDesktop")] - [MapConfiguration("DisciplineId")] public Guid DisciplineId { get; set; } [ViewModelControlListProperty("Дисциплина")] @@ -32,14 +31,12 @@ namespace DepartmentBusinessLogic.ViewModels public string DisciplineName { get; set; } [ViewModelControlElementProperty("Преподается на кафедре", ControlType.ControlBool, MustHaveValue = true)] - [MapConfiguration("InDepartment")] public bool InDepartment { get; set; } [ViewModelControlListProperty("На кафедре", ColumnWidth = 100)] public string InDepartmentValue => InDepartment ? "Да" : "Нет"; [ViewModelControlElementProperty("Семестр", ControlType.ControlEnum, MustHaveValue = true)] - [MapConfiguration("Semester")] public Semester Semester { get; set; } [ViewModelControlListProperty("Семестр", ColumnWidth = 80)] @@ -47,15 +44,12 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlListProperty("Зет", ColumnWidth = 60)] [ViewModelControlElementProperty("Зет", ControlType.ControlInt, MustHaveValue = true)] - [MapConfiguration("Zet")] public int Zet { get; set; } [ViewModelControlElementProperty("Родитель", ControlType.ControlGuid, MustHaveValue = false, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlAcademicPlanRecordList, DepartmentWindowsDesktop")] - [MapConfiguration("AcademicPlanRecordParentId")] public Guid? AcademicPlanRecordParentId { get; set; } [ViewModelControlElementProperty("Является родительской", ControlType.ControlBool, MustHaveValue = true)] - [MapConfiguration("IsParent")] public bool IsParent { get; set; } [ViewModelControlListProperty("ДВ", ColumnWidth = 50)] @@ -64,11 +58,7 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlListProperty("По выбору", ColumnWidth = 100)] public string IsChildValue => AcademicPlanRecordParentId.HasValue ? "Да" : "Нет"; - /// - /// Является факультативной дисциплиной - /// [ViewModelControlElementProperty("Является факультативной", ControlType.ControlBool, MustHaveValue = true)] - [MapConfiguration("IsFacultative")] public bool IsFacultative { get; set; } [ViewModelControlListProperty("Факульт", ColumnWidth = 80)] diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanViewModels.cs index a57662e..a8ebe5c 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/AcademicPlanViewModels.cs @@ -1,4 +1,5 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; +using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; using System; @@ -16,10 +17,9 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlElementClass(HaveDependenceEntities = true, Width = 1200, Height = 800)] [ViewModelControlElementDependenceEntity(Title = "Записи плана", Order = 1, ParentPropertyName = "AcademicPlanId", ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlAcademicPlanRecordList, DepartmentWindowsDesktop")] - public class AcademicPlanViewModel : ElementViewModel + public class AcademicPlanViewModel : ElementViewModel, IAcademicPlanModel { [ViewModelControlElementProperty("Направление", ControlType.ControlGuid, MustHaveValue = false, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEducationDirectionList, DepartmentWindowsDesktop")] - [MapConfiguration("EducationDirectionId")] public Guid? EducationDirectionId { get; set; } [ViewModelControlListProperty("Направление")] @@ -32,12 +32,10 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlListProperty("Дата начала", ColumnWidth = 120)] [ViewModelControlElementProperty("Дата начала", ControlType.ControlInt, MustHaveValue = true)] - [MapConfiguration("YearEntrance")] public int YearEntrance { get; set; } [ViewModelControlListProperty("Дата окончания", ColumnWidth = 120)] [ViewModelControlElementProperty("Дата окончания", ControlType.ControlInt, MustHaveValue = true)] - [MapConfiguration("YearFinish")] public int YearFinish { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/ClassroomViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/ClassroomViewModels.cs index 7def279..1c19a76 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/ClassroomViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/ClassroomViewModels.cs @@ -1,4 +1,5 @@ -using DepartmentBusinessLogic.Enums; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; @@ -6,29 +7,26 @@ using System; namespace DepartmentBusinessLogic.ViewModels { - /// - /// Список аудиторий - /// - public class ClassroomListViewModel : ListViewModel { } + /// + /// Список аудиторий + /// + public class ClassroomListViewModel : ListViewModel { } /// /// Элемент аудитории /// [ViewModelControlElementClass()] - public class ClassroomViewModel : ElementViewModel + public class ClassroomViewModel : ElementViewModel, IClassroomModel { [ViewModelControlListProperty("Номер", ColumnWidth = 80)] [ViewModelControlElementProperty("Номер аудитории", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("Number")] public string Number { get; set; } [ViewModelControlListProperty("Название")] [ViewModelControlElementProperty("Название", ControlType.ControlString)] - [MapConfiguration("Title")] public string Title { get; set; } [ViewModelControlElementProperty("Сотрудник", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEmployeeList, DepartmentWindowsDesktop")] - [MapConfiguration("EmployeeId")] public Guid EmployeeId { get; set; } [ViewModelControlListProperty("Сотрудник")] @@ -36,7 +34,6 @@ namespace DepartmentBusinessLogic.ViewModels public string EmployeeName { get; set; } [ViewModelControlElementProperty("Тип", ControlType.ControlEnum, MustHaveValue = true)] - [MapConfiguration("ClassroomType")] public ClassroomType ClassroomType { get; set; } [ViewModelControlListProperty("Тип", ColumnWidth = 120)] @@ -44,32 +41,26 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlListProperty("Площадь", ColumnWidth = 90)] [ViewModelControlElementProperty("Площадь", ControlType.ControlDecimal, MustHaveValue = true)] - [MapConfiguration("Square")] public decimal Square { get; set; } [ViewModelControlListProperty("Кол-во мест", ColumnWidth = 100)] [ViewModelControlElementProperty("Кол-во мест", ControlType.ControlInt, MustHaveValue = true)] - [MapConfiguration("Capacity")] public int Capacity { get; set; } [ViewModelControlListProperty("Код безоп.", ColumnWidth = 100)] [ViewModelControlElementProperty("Код безоп.", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("SecurityCode")] public string SecurityCode { get; set; } [ViewModelControlElementProperty("Есть проектор", ControlType.ControlBool, MustHaveValue = true)] - [MapConfiguration("HaveProjector")] public bool HaveProjector { get; set; } [ViewModelControlListProperty("Есть проектор", ColumnWidth = 80)] public string IsHaveProjector => HaveProjector ? "Да" : "Нет"; [ViewModelControlElementProperty("Описание", ControlType.ControlText)] - [MapConfiguration("Description")] public string Description { get; set; } [ViewModelControlElementProperty("Фото", ControlType.ControlImage, Width = 200, Height = 200)] - [MapConfiguration("Photo")] public byte[] Photo { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineBlockViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineBlockViewModels.cs index ccfaf69..0bf0720 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineBlockViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineBlockViewModels.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 DisciplineBlockListViewModel : ListViewModel { } + /// + /// Список блоков дисциплин + /// + public class DisciplineBlockListViewModel : ListViewModel { } /// /// Элемент блок дисциплины @@ -17,24 +18,20 @@ namespace DepartmentBusinessLogic.ViewModels ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineList, DepartmentWindowsDesktop")] [ViewModelControlElementDependenceEntity(Title = "Нормы времени", Order = 1, ParentPropertyName = "DisciplineBlockId", ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlTimeNormList, DepartmentWindowsDesktop")] - public class DisciplineBlockViewModel : ElementViewModel + public class DisciplineBlockViewModel : ElementViewModel, IDisciplineBlockModel { [ViewModelControlListProperty("Название блока")] [ViewModelControlElementProperty("Название блока", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("Title")] public string Title { get; set; } [ViewModelControlElementProperty("Используется для группровки в расчетах", ControlType.ControlBool, MustHaveValue = true)] - [MapConfiguration("DisciplineBlockUseForGrouping")] public bool DisciplineBlockUseForGrouping { get; set; } [ViewModelControlListProperty("Порядок", ColumnWidth = 100)] [ViewModelControlElementProperty("Порядок", ControlType.ControlInt, MustHaveValue = true)] - [MapConfiguration("DisciplineBlockOrder")] public int DisciplineBlockOrder { get; set; } [ViewModelControlElementProperty("Назв. в планах", ControlType.ControlString)] - [MapConfiguration("DisciplineBlockBlueAsteriskName")] public string DisciplineBlockBlueAsteriskName { get; set; } } } diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineViewModels.cs index 3e769ad..bb2d91d 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/DisciplineViewModels.cs @@ -1,14 +1,15 @@ -using ModuleTools.Attributes; +using CoreModels.ModelsDepartment; +using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; using System; namespace DepartmentBusinessLogic.ViewModels { - /// - /// Список дисциплин - /// - public class DisciplineListViewModel : ListViewModel { } + /// + /// Список дисциплин + /// + public class DisciplineListViewModel : ListViewModel { } /// /// Элемент дисциплина @@ -16,29 +17,24 @@ namespace DepartmentBusinessLogic.ViewModels [ViewModelControlElementClass(HaveDependenceEntities = true, Width = 800, Height = 500)] [ViewModelControlElementDependenceEntity(Title = "Записи учебного плана", Order = 1, ParentPropertyName = "DisciplineId", ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlAcademicPlanRecordList, DepartmentWindowsDesktop")] - public class DisciplineViewModel : ElementViewModel + public class DisciplineViewModel : ElementViewModel, IDisciplineModel { [ViewModelControlElementProperty("Блок дисциплин", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineBlockList, DepartmentWindowsDesktop")] - [MapConfiguration("DisciplineBlockId")] public Guid DisciplineBlockId { get; set; } [ViewModelControlListProperty("Название дисциплины")] [ViewModelControlElementProperty("Название дисциплины", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("DisciplineName")] public string DisciplineName { get; set; } [ViewModelControlListProperty("Краткое название дисциплины")] [ViewModelControlElementProperty("Краткое нисциплины", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("DisciplineShortName")] public string DisciplineShortName { get; set; } [ViewModelControlListProperty("Описание")] [ViewModelControlElementProperty("Описание", ControlType.ControlText, Height = 200, MustHaveValue = true)] - [MapConfiguration("Description")] public string Description { get; set; } [ViewModelControlElementProperty("Название в планах", ControlType.ControlString)] - [MapConfiguration("DisciplineBlueAsteriskName")] public string DisciplineBlueAsteriskName { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/EducationDirectionViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/EducationDirectionViewModels.cs index 68dea62..79ff534 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/EducationDirectionViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/EducationDirectionViewModels.cs @@ -1,4 +1,5 @@ -using DepartmentBusinessLogic.Enums; +using CoreModels.Enums.Department; +using CoreModels.ModelsDepartment; using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; @@ -6,10 +7,10 @@ using System; namespace DepartmentBusinessLogic.ViewModels { - /// - /// Список напарвлений обучений - /// - public class EducationDirectionListViewModel : ListViewModel { } + /// + /// Список напарвлений обучений + /// + public class EducationDirectionListViewModel : ListViewModel { } /// /// Элемент направления обучения @@ -19,30 +20,25 @@ namespace DepartmentBusinessLogic.ViewModels ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlAcademicPlanList, DepartmentWindowsDesktop")] [ViewModelControlElementDependenceEntity(Title = "Группы", Order = 2, ParentPropertyName = "EducationDirectionId", ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlStudentGroupList, DepartmentWindowsDesktop")] - public class EducationDirectionViewModel : ElementViewModel + public class EducationDirectionViewModel : ElementViewModel, IEducationDirectionModel { [ViewModelControlListProperty("Шифр", ColumnWidth = 80)] [ViewModelControlElementProperty("Шифр", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("Cipher")] public string Cipher { get; set; } [ViewModelControlListProperty("Сокращение", ColumnWidth = 80)] [ViewModelControlElementProperty("Сокращение", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("ShortName")] public string ShortName { get; set; } [ViewModelControlListProperty("Название")] [ViewModelControlElementProperty("Название", ControlType.ControlString, MustHaveValue = true)] - [MapConfiguration("Title")] public string Title { get; set; } [ViewModelControlListProperty("Профиль")] [ViewModelControlElementProperty("Профиль", ControlType.ControlString)] - [MapConfiguration("Profile")] public string Profile { get; set; } [ViewModelControlElementProperty("Руководитель ОПОП", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerList, DepartmentWindowsDesktop")] - [MapConfiguration("LecturerId")] public Guid LecturerId { get; set; } [ViewModelControlListProperty("Руководитель ОПОП", ColumnWidth = 120)] @@ -50,15 +46,13 @@ namespace DepartmentBusinessLogic.ViewModels public string LecturerName { get; set; } [ViewModelControlElementProperty("Уровень обучения", ControlType.ControlEnum, MustHaveValue = true)] - [MapConfiguration("Qualification")] public EducationDirectionQualification Qualification { get; set; } - [ViewModelControlListProperty("ровень обучения")] + [ViewModelControlListProperty("Уровень обучения")] public string QualificationTitle => Qualification.ToString("G"); [ViewModelControlListProperty("Описание")] [ViewModelControlElementProperty("Описание", ControlType.ControlText, Height = 80)] - [MapConfiguration("Description")] public string Description { get; set; } } } \ No newline at end of file diff --git a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/TimeNormViewModels.cs b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/TimeNormViewModels.cs index 46ba693..8a624c4 100644 --- a/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/TimeNormViewModels.cs +++ b/DepartmentPortal/Department/DepartmentBusinessLogic/ViewModels/TimeNormViewModels.cs @@ -1,4 +1,4 @@ -using DepartmentBusinessLogic.Enums; +using CoreModels.Enums.Department; using ModuleTools.Attributes; using ModuleTools.Enums; using ModuleTools.ViewModels; @@ -6,10 +6,10 @@ using System; namespace DepartmentBusinessLogic.ViewModels { - /// - /// Список норм времени - /// - public class TimeNormListViewModel : ListViewModel { } + /// + /// Список норм времени + /// + public class TimeNormListViewModel : ListViewModel { } /// /// Элемент нормы времени diff --git a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanRecordService.cs b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanRecordService.cs index 098c169..6eca46c 100644 --- a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanRecordService.cs +++ b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanRecordService.cs @@ -33,7 +33,7 @@ namespace DepartmentDatabaseImplementation.Implementations } if (model.Semester.HasValue) { - query = query.Where(x => x.Semester == (int)model.Semester.Value); + query = query.Where(x => x.Semester == model.Semester.Value); } return query; } @@ -51,7 +51,7 @@ namespace DepartmentDatabaseImplementation.Implementations context.SaveChanges(); } - protected override AcademicPlanRecord GetUniqueEntity(AcademicPlanRecordSetBindingModel model, DbContext context) => context.Set().FirstOrDefault(x => x.AcademicPlanId == model.AcademicPlanId && x.DisciplineId == model.DisciplineId && x.Semester == (int)model.Semester && x.Id != model.Id); + protected override AcademicPlanRecord GetUniqueEntity(AcademicPlanRecordSetBindingModel model, DbContext context) => context.Set().FirstOrDefault(x => x.AcademicPlanId == model.AcademicPlanId && x.DisciplineId == model.DisciplineId && x.Semester == model.Semester && x.Id != model.Id); protected override IQueryable IncludingWhenReading(IQueryable query) => query.Include(x => x.AcademicPlan).Include(x => x.Discipline); diff --git a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanService.cs b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanService.cs index ad4b092..f53ea5c 100644 --- a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanService.cs +++ b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/AcademicPlanService.cs @@ -1,7 +1,7 @@ -using DatabaseCore; +using CoreModels.Enums.Department; +using DatabaseCore; using DatabaseCore.Models.Department; using DepartmentBusinessLogic.BindingModels; -using DepartmentBusinessLogic.Enums; using DepartmentBusinessLogic.Interfaces; using DepartmentBusinessLogic.ViewModels; using DepartmentDatabaseImplementation.Models; @@ -16,10 +16,10 @@ using System.Xml.Linq; namespace DepartmentDatabaseImplementation.Implementations { - /// - /// Реализация IAcademicPlanService - /// - public class AcademicPlanService : + /// + /// Реализация IAcademicPlanService + /// + public class AcademicPlanService : AbstractGenerticEntityService, IAcademicPlanService { @@ -320,7 +320,7 @@ namespace DepartmentDatabaseImplementation.Implementations parent = context.AcademicPlanRecords.FirstOrDefault(apr => apr.AcademicPlanId == model.AcademicPlanId && apr.DisciplineId == parentDiscipilne.Entity.Id && - apr.Semester == (int)hour.Semester); + apr.Semester == hour.Semester); if (parent == null) { @@ -330,7 +330,7 @@ namespace DepartmentDatabaseImplementation.Implementations AcademicPlanId = model.AcademicPlanId, DisciplineId = parentDiscipilne.Entity.Id, InDepartment = inKafedra, - Semester = (int)hour.Semester, + Semester = hour.Semester, Zet = zet.IsNotEmpty() ? Convert.ToInt32(zet) : 0, IsParent = true, IsFacultative = isFacultative @@ -357,7 +357,7 @@ namespace DepartmentDatabaseImplementation.Implementations var record = context.AcademicPlanRecords.FirstOrDefault(apr => apr.AcademicPlanId == model.AcademicPlanId && apr.DisciplineId == discipline.Id && - apr.Semester == (int)hour.Semester); + apr.Semester == hour.Semester); if (record == null) { @@ -366,7 +366,7 @@ namespace DepartmentDatabaseImplementation.Implementations AcademicPlanId = model.AcademicPlanId, DisciplineId = discipline.Id, Zet = zet.IsNotEmpty() ? Convert.ToInt32(zet) : 0, - Semester = (int)hour.Semester, + Semester = hour.Semester, AcademicPlanRecordParentId = parent?.Id, IsParent = false, IsFacultative = isFacultative, diff --git a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/ClassroomService.cs b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/ClassroomService.cs index 76e27e8..c91df71 100644 --- a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/ClassroomService.cs +++ b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Implementations/ClassroomService.cs @@ -1,7 +1,7 @@ -using DatabaseCore; +using CoreModels.Enums.Department; +using DatabaseCore; using DatabaseCore.Models.Department; using DepartmentBusinessLogic.BindingModels; -using DepartmentBusinessLogic.Enums; using DepartmentBusinessLogic.Interfaces; using DepartmentBusinessLogic.ViewModels; using Microsoft.EntityFrameworkCore; @@ -10,10 +10,10 @@ using System.Linq; namespace DepartmentDatabaseImplementation.Implementations { - /// - /// Реализация интерфейса IClassroomService - /// - public class ClassroomService : + /// + /// Реализация интерфейса IClassroomService + /// + public class ClassroomService : AbstractGenerticEntityService, IClassroomService { @@ -25,8 +25,8 @@ namespace DepartmentDatabaseImplementation.Implementations { if (model.UseInSchedule.HasValue) { - query = query.Where(x => x.ClassroomType == (int)ClassroomType.Дисплейный || x.ClassroomType == (int)ClassroomType.Лекционный || - x.ClassroomType == (int)ClassroomType.Обычный); + query = query.Where(x => x.ClassroomType == ClassroomType.Дисплейный || x.ClassroomType == ClassroomType.Лекционный || + x.ClassroomType == ClassroomType.Обычный); } if (model.EmployeeId.HasValue) { diff --git a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Models/ParsPlxModel.cs b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Models/ParsPlxModel.cs index 7d34d67..27a827d 100644 --- a/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Models/ParsPlxModel.cs +++ b/DepartmentPortal/Department/DepartmentDatabaseImplementation.csproj/Models/ParsPlxModel.cs @@ -1,16 +1,15 @@ -using DatabaseCore.Models.Department; -using DepartmentBusinessLogic.BindingModels; -using DepartmentBusinessLogic.Enums; +using CoreModels.Enums.Department; +using DatabaseCore.Models.Department; using System; using System.Collections.Generic; using System.Xml; namespace DepartmentDatabaseImplementation.Models { - /// - /// Данные для разбора plx-файла с планом - /// - public class ParsPlxModel + /// + /// Данные для разбора plx-файла с планом + /// + public class ParsPlxModel { public Guid AcademicPlanId { get; set; } diff --git a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/AcademicPlanRecord/ControlAcademicPlanRecordList.cs b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/AcademicPlanRecord/ControlAcademicPlanRecordList.cs index b2d7c53..efdc33d 100644 --- a/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/AcademicPlanRecord/ControlAcademicPlanRecordList.cs +++ b/DepartmentPortal/Department/DepartmentWindowsDesktop/EntityControls/AcademicPlanRecord/ControlAcademicPlanRecordList.cs @@ -1,6 +1,6 @@ -using DepartmentBusinessLogic.BindingModels; +using CoreModels.Enums.Department; +using DepartmentBusinessLogic.BindingModels; using DepartmentBusinessLogic.BusinessLogics; -using DepartmentBusinessLogic.Enums; using DepartmentBusinessLogic.ViewModels; using DesktopTools.Controls; using DesktopTools.Enums; @@ -14,10 +14,10 @@ using System.Linq; namespace DepartmentWindowsDesktop.EntityControls { - /// - /// Реализация контрола для записей учебного плана - /// - public partial class ControlAcademicPlanRecordList : + /// + /// Реализация контрола для записей учебного плана + /// + public partial class ControlAcademicPlanRecordList : GenericControlEntityList, IGenericControlEntityList {