Пеервод моделей кафедры, первая итерация

This commit is contained in:
kotcheshir73 2022-03-18 21:34:16 +04:00
parent 7b682e50d7
commit 941794b273
40 changed files with 347 additions and 332 deletions

View File

@ -1,4 +1,4 @@
namespace DepartmentBusinessLogic.Enums
namespace CoreModels.Enums.Department
{
/// <summary>
/// Типы аудиторий

View File

@ -0,0 +1,12 @@
namespace CoreModels.Enums.Department
{
/// <summary>
/// Уровни обучения
/// </summary>
public enum EducationDirectionQualification
{
Бакалавриат = 0,
Магистратура = 1
}
}

View File

@ -1,4 +1,4 @@
namespace DepartmentBusinessLogic.Enums
namespace CoreModels.Enums.Department
{
/// <summary>
/// Семестр обучения

View File

@ -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; }
}
}

View File

@ -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; }
/// <summary>
/// Является родительской для дисциплин по выбору
/// </summary>
bool IsParent { get; }
/// <summary>
/// Является факультативной дисциплиной
/// </summary>
bool IsFacultative { get; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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
{
/// <summary>
/// Класс, описывающий учебный план кафедры
/// </summary>
[DataContract]
[EntityDescription("AcademicPlan", "Учебный план кафедры")]
[EntityDependency("EducationDirection", "EducationDirectionId", "Направление, к которму относится учебный план")]
public class AcademicPlan : BaseEntity, IEntitySecurityExtenstion<AcademicPlan>
public class AcademicPlan : BaseEntity, IEntitySecurityExtenstion<AcademicPlan>, 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; }
//-------------------------------------------------------------------------

View File

@ -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
{
/// <summary>
/// Класс, описывающий запись учебного плана кафедры
/// </summary>
[DataContract]
[EntityDescription("AcademicPlanRecord", "Запись учебного плана кафедры")]
[EntityDependency("AcademicPlan", "AcademicPlanId", "Учебный план, к которму относится запись")]
[EntityDependency("Discipline", "DisciplineId", "Дисциплина, которая указана в записи плана")]
public class AcademicPlanRecord : BaseEntity, IEntitySecurityExtenstion<AcademicPlanRecord>
public class AcademicPlanRecord : BaseEntity, IEntitySecurityExtenstion<AcademicPlanRecord>, 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; }
//-------------------------------------------------------------------------

View File

@ -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
{
/// <summary>
/// Класс, описывающий часы нагрузок записей учебных планов кафедры
/// </summary>
[DataContract]
[EntityDescription("AcademicPlanRecordTimeNormHour", "Часы нагрузки записи учебного плана")]
[EntityDependency("AcademicPlanRecord", "AcademicPlanRecordId", "Запись учебного плана, к которой относятся часы")]
[EntityDependency("TimeNorm", "TimeNormId", "Норма времени, к которой относятся часы")]
public class AcademicPlanRecordTimeNormHour : BaseEntity, IEntitySecurityExtenstion<AcademicPlanRecordTimeNormHour>
public class AcademicPlanRecordTimeNormHour : BaseEntity, IEntitySecurityExtenstion<AcademicPlanRecordTimeNormHour>, 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; }
//-------------------------------------------------------------------------

View File

@ -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
{
/// <summary>
/// Класс, описывающий аудиторию кафедры
/// </summary>
[DataContract]
[EntityDescription("Classroom", "Аудитрия кафедры")]
[EntityDependency("Employee", "EmployeeId", "Сотрудник, отвечающий за аудиторию")]
public class Classroom : BaseEntity, IEntitySecurityExtenstion<Classroom>
public class Classroom : BaseEntity, IEntitySecurityExtenstion<Classroom>, 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; }
//-------------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
using ModuleTools.Attributes;
using CoreModels.ModelsDepartment;
using ModuleTools.Interfaces;
using System;
using System.Collections.Generic;
@ -12,29 +12,22 @@ namespace DatabaseCore.Models.Department
/// Класс, описывающий дисципилну кафедры
/// </summary>
[DataContract]
[EntityDescription("Discipline", "Дисципилна кафедры")]
[EntityDependency("DisciplineBlock", "DisciplineBlockId", "Блок дисцпилн, к которому относится дисциплина")]
public class Discipline : BaseEntity, IEntitySecurityExtenstion<Discipline>
public class Discipline : BaseEntity, IEntitySecurityExtenstion<Discipline>, 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; }
//-------------------------------------------------------------------------

View File

@ -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
{
/// <summary>
/// Класс, описывающий блок дисциплин
/// </summary>
[DataContract]
[EntityDescription("DisciplineBlock", "Аудитрия кафедры")]
public class DisciplineBlock : BaseEntity, IEntitySecurityExtenstion<DisciplineBlock>
public class DisciplineBlock : BaseEntity, IEntitySecurityExtenstion<DisciplineBlock>, 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; }
//-------------------------------------------------------------------------

View File

@ -1,4 +1,5 @@
using ModuleTools.Attributes;
using CoreModels.Enums.Department;
using CoreModels.ModelsDepartment;
using ModuleTools.Interfaces;
using System;
using System.Collections.Generic;
@ -12,39 +13,30 @@ namespace DatabaseCore.Models.Department
/// Класс, описывающий направление обучения кафедры
/// </summary>
[DataContract]
[EntityDescription("EducationDirection", "Направление обучения кафедры")]
[EntityDependency("Lecturer", "LecturerId", "Преподаватель, руководитель напарвления")]
public class EducationDirection : BaseEntity, IEntitySecurityExtenstion<EducationDirection>
public class EducationDirection : BaseEntity, IEntitySecurityExtenstion<EducationDirection>, 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; }
//-------------------------------------------------------------------------

View File

@ -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")]

View File

@ -1,4 +1,4 @@
using ModuleTools.Attributes;
using CoreModels.ModelsDepartment;
using ModuleTools.BindingModels;
using System;
using System.ComponentModel.DataAnnotations;
@ -16,17 +16,14 @@ namespace DepartmentBusinessLogic.BindingModels
/// <summary>
/// Сохранение учебного года
/// </summary>
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; }
}

View File

@ -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;
@ -21,41 +21,27 @@ namespace DepartmentBusinessLogic.BindingModels
/// <summary>
/// Сохранение записи учебного плана
/// </summary>
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; }
/// <summary>
/// Является родительской для дисциплин по выбору
/// </summary>
[MapConfiguration("IsParent")]
public bool IsParent { get; set; }
/// <summary>
/// Является факультативной дисциплиной
/// </summary>
[MapConfiguration("IsFacultative")]
public bool IsFacultative { get; set; }
}
}

View File

@ -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
/// <summary>
/// Сохранение часов по норме времени для записи учебного плана
/// </summary>
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; }
}
}

View File

@ -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
/// <summary>
/// Сохранение аудитории
/// </summary>
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; }
}
}

View File

@ -1,4 +1,4 @@
using ModuleTools.Attributes;
using CoreModels.ModelsDepartment;
using ModuleTools.BindingModels;
using System;
using System.ComponentModel.DataAnnotations;
@ -24,36 +24,29 @@ namespace DepartmentBusinessLogic.BindingModels
/// <summary>
/// Сохранение дисциплины
/// </summary>
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; }
/// <summary>
/// Используется только в расчетах, не сохраняется
/// </summary>
[MapConfiguration("DisciplineBlueAsteriskCode")]
public string DisciplineBlueAsteriskCode { get; set; }
/// <summary>
/// Используется только в расчетах, не сохраняется
/// </summary>
[MapConfiguration("DisciplineBlueAsteriskPracticCode")]
public string DisciplineBlueAsteriskPracticCode { get; set; }
}
}

View File

@ -1,4 +1,4 @@
using ModuleTools.Attributes;
using CoreModels.ModelsDepartment;
using ModuleTools.BindingModels;
using System.ComponentModel.DataAnnotations;
@ -14,20 +14,16 @@ namespace DepartmentBusinessLogic.BindingModels
/// <summary>
/// Сохранение блока дисциплин
/// </summary>
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; }
}
}

View File

@ -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;
@ -20,32 +20,25 @@ namespace DepartmentBusinessLogic.BindingModels
/// <summary>
/// Сохранение направления обучения
/// </summary>
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; }
}
}

View File

@ -1,4 +1,4 @@
using DepartmentBusinessLogic.Enums;
using CoreModels.Enums.Department;
using ModuleTools.Attributes;
using ModuleTools.BindingModels;
using System;

View File

@ -1,12 +0,0 @@
namespace DepartmentBusinessLogic.Enums
{
/// <summary>
/// Уровни обучения
/// </summary>
public enum EducationDirectionQualification
{
Бакалавриат = 0,
Магистратура = 1
}
}

View File

@ -1,4 +1,5 @@
using DepartmentBusinessLogic.Enums;
using CoreModels.Enums.Department;
using CoreModels.ModelsDepartment;
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
@ -15,10 +16,9 @@ namespace DepartmentBusinessLogic.ViewModels
/// Элемент часов по нагрузке для записи учебного плана
/// </summary>
[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}";

View File

@ -1,4 +1,5 @@
using DepartmentBusinessLogic.Enums;
using CoreModels.Enums.Department;
using CoreModels.ModelsDepartment;
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
@ -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 ? "Да" : "Нет";
/// <summary>
/// Является факультативной дисциплиной
/// </summary>
[ViewModelControlElementProperty("Является факультативной", ControlType.ControlBool, MustHaveValue = true)]
[MapConfiguration("IsFacultative")]
public bool IsFacultative { get; set; }
[ViewModelControlListProperty("Факульт", ColumnWidth = 80)]

View File

@ -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; }
}
}

View File

@ -1,4 +1,5 @@
using DepartmentBusinessLogic.Enums;
using CoreModels.Enums.Department;
using CoreModels.ModelsDepartment;
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
@ -15,20 +16,17 @@ namespace DepartmentBusinessLogic.ViewModels
/// Элемент аудитории
/// </summary>
[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; }
}
}

View File

@ -1,4 +1,5 @@
using ModuleTools.Attributes;
using CoreModels.ModelsDepartment;
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
@ -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; }
}
}

View File

@ -1,4 +1,5 @@
using ModuleTools.Attributes;
using CoreModels.ModelsDepartment;
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
using System;
@ -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; }
}
}

View File

@ -1,4 +1,5 @@
using DepartmentBusinessLogic.Enums;
using CoreModels.Enums.Department;
using CoreModels.ModelsDepartment;
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;
@ -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; }
}
}

View File

@ -1,4 +1,4 @@
using DepartmentBusinessLogic.Enums;
using CoreModels.Enums.Department;
using ModuleTools.Attributes;
using ModuleTools.Enums;
using ModuleTools.ViewModels;

View File

@ -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<AcademicPlanRecord>().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<AcademicPlanRecord>().FirstOrDefault(x => x.AcademicPlanId == model.AcademicPlanId && x.DisciplineId == model.DisciplineId && x.Semester == model.Semester && x.Id != model.Id);
protected override IQueryable<AcademicPlanRecord> IncludingWhenReading(IQueryable<AcademicPlanRecord> query) => query.Include(x => x.AcademicPlan).Include(x => x.Discipline);

View File

@ -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;
@ -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,

View File

@ -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;
@ -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)
{

View File

@ -1,6 +1,5 @@
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;

View File

@ -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;