Базовая кафедра
This commit is contained in:
parent
195e81bbb0
commit
d1fcf069b3
1581
DepartmentPortal/Common/CoreDatabase/Migrations/20220327102136_AddBasicDepartments.Designer.cs
generated
Normal file
1581
DepartmentPortal/Common/CoreDatabase/Migrations/20220327102136_AddBasicDepartments.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,108 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
namespace CoreDatabase.Migrations
|
||||||
|
{
|
||||||
|
public partial class AddBasicDepartments : Migration
|
||||||
|
{
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<Guid>(
|
||||||
|
name: "BasicDepartmentId",
|
||||||
|
table: "Students",
|
||||||
|
type: "uniqueidentifier",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<Guid>(
|
||||||
|
name: "BasicDepartmentId",
|
||||||
|
table: "Disciplines",
|
||||||
|
type: "uniqueidentifier",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "BasicDepartment",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
LecturerId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
BasicDepartmentName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||||
|
BasicDepartmentDescription = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||||
|
EnterprisesName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||||
|
DateCreate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
DateDelete = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_BasicDepartment", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_BasicDepartment_Lecturers_LecturerId",
|
||||||
|
column: x => x.LecturerId,
|
||||||
|
principalTable: "Lecturers",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Students_BasicDepartmentId",
|
||||||
|
table: "Students",
|
||||||
|
column: "BasicDepartmentId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Disciplines_BasicDepartmentId",
|
||||||
|
table: "Disciplines",
|
||||||
|
column: "BasicDepartmentId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_BasicDepartment_LecturerId",
|
||||||
|
table: "BasicDepartment",
|
||||||
|
column: "LecturerId");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Disciplines_BasicDepartment_BasicDepartmentId",
|
||||||
|
table: "Disciplines",
|
||||||
|
column: "BasicDepartmentId",
|
||||||
|
principalTable: "BasicDepartment",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Students_BasicDepartment_BasicDepartmentId",
|
||||||
|
table: "Students",
|
||||||
|
column: "BasicDepartmentId",
|
||||||
|
principalTable: "BasicDepartment",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Disciplines_BasicDepartment_BasicDepartmentId",
|
||||||
|
table: "Disciplines");
|
||||||
|
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Students_BasicDepartment_BasicDepartmentId",
|
||||||
|
table: "Students");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "BasicDepartment");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Students_BasicDepartmentId",
|
||||||
|
table: "Students");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Disciplines_BasicDepartmentId",
|
||||||
|
table: "Disciplines");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "BasicDepartmentId",
|
||||||
|
table: "Students");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "BasicDepartmentId",
|
||||||
|
table: "Disciplines");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -132,6 +132,39 @@ namespace CoreDatabase.Migrations
|
|||||||
b.ToTable("AcademicPlanRecordTimeNormHours");
|
b.ToTable("AcademicPlanRecordTimeNormHours");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("CoreDatabase.Models.Department.BasicDepartment", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
|
b.Property<string>("BasicDepartmentDescription")
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("BasicDepartmentName")
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<DateTime>("DateCreate")
|
||||||
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.Property<DateTime?>("DateDelete")
|
||||||
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.Property<string>("EnterprisesName")
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<bool>("IsDeleted")
|
||||||
|
.HasColumnType("bit");
|
||||||
|
|
||||||
|
b.Property<Guid?>("LecturerId")
|
||||||
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LecturerId");
|
||||||
|
|
||||||
|
b.ToTable("BasicDepartment");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("CoreDatabase.Models.Department.Classroom", b =>
|
modelBuilder.Entity("CoreDatabase.Models.Department.Classroom", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
@ -192,6 +225,9 @@ namespace CoreDatabase.Migrations
|
|||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
|
b.Property<Guid?>("BasicDepartmentId")
|
||||||
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
b.Property<DateTime>("DateCreate")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
@ -219,6 +255,8 @@ namespace CoreDatabase.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("BasicDepartmentId");
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
b.HasIndex("DisciplineBlockId");
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
b.HasIndex("DisciplineName")
|
||||||
@ -769,6 +807,9 @@ namespace CoreDatabase.Migrations
|
|||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
|
b.Property<Guid?>("BasicDepartmentId")
|
||||||
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
b.Property<DateTime>("DateCreate")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
@ -823,6 +864,8 @@ namespace CoreDatabase.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("BasicDepartmentId");
|
||||||
|
|
||||||
b.HasIndex("EnrollmentYearId");
|
b.HasIndex("EnrollmentYearId");
|
||||||
|
|
||||||
b.HasIndex("NumberOfBook")
|
b.HasIndex("NumberOfBook")
|
||||||
@ -1146,6 +1189,15 @@ namespace CoreDatabase.Migrations
|
|||||||
b.Navigation("TimeNorm");
|
b.Navigation("TimeNorm");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("CoreDatabase.Models.Department.BasicDepartment", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("CoreDatabase.Models.Department.Lecturer", "Lecturer")
|
||||||
|
.WithMany("BasicDepartments")
|
||||||
|
.HasForeignKey("LecturerId");
|
||||||
|
|
||||||
|
b.Navigation("Lecturer");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("CoreDatabase.Models.Department.Classroom", b =>
|
modelBuilder.Entity("CoreDatabase.Models.Department.Classroom", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("CoreDatabase.Models.Department.Employee", "Employee")
|
b.HasOne("CoreDatabase.Models.Department.Employee", "Employee")
|
||||||
@ -1159,12 +1211,18 @@ namespace CoreDatabase.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("CoreDatabase.Models.Department.Discipline", b =>
|
modelBuilder.Entity("CoreDatabase.Models.Department.Discipline", b =>
|
||||||
{
|
{
|
||||||
|
b.HasOne("CoreDatabase.Models.Department.BasicDepartment", "BasicDepartment")
|
||||||
|
.WithMany("Disciplines")
|
||||||
|
.HasForeignKey("BasicDepartmentId");
|
||||||
|
|
||||||
b.HasOne("CoreDatabase.Models.Department.DisciplineBlock", "DisciplineBlock")
|
b.HasOne("CoreDatabase.Models.Department.DisciplineBlock", "DisciplineBlock")
|
||||||
.WithMany("Disciplines")
|
.WithMany("Disciplines")
|
||||||
.HasForeignKey("DisciplineBlockId")
|
.HasForeignKey("DisciplineBlockId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("BasicDepartment");
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
b.Navigation("DisciplineBlock");
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1308,6 +1366,10 @@ namespace CoreDatabase.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("CoreDatabase.Models.Department.Student", b =>
|
modelBuilder.Entity("CoreDatabase.Models.Department.Student", b =>
|
||||||
{
|
{
|
||||||
|
b.HasOne("CoreDatabase.Models.Department.BasicDepartment", "BasicDepartment")
|
||||||
|
.WithMany("Students")
|
||||||
|
.HasForeignKey("BasicDepartmentId");
|
||||||
|
|
||||||
b.HasOne("CoreDatabase.Models.Department.EnrollmentYear", "EnrollmentYear")
|
b.HasOne("CoreDatabase.Models.Department.EnrollmentYear", "EnrollmentYear")
|
||||||
.WithMany("Students")
|
.WithMany("Students")
|
||||||
.HasForeignKey("EnrollmentYearId");
|
.HasForeignKey("EnrollmentYearId");
|
||||||
@ -1322,6 +1384,8 @@ namespace CoreDatabase.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("BasicDepartment");
|
||||||
|
|
||||||
b.Navigation("EnrollmentYear");
|
b.Navigation("EnrollmentYear");
|
||||||
|
|
||||||
b.Navigation("StudentGroup");
|
b.Navigation("StudentGroup");
|
||||||
@ -1397,6 +1461,13 @@ namespace CoreDatabase.Migrations
|
|||||||
b.Navigation("AcademicPlanRecordTimeNormHours");
|
b.Navigation("AcademicPlanRecordTimeNormHours");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("CoreDatabase.Models.Department.BasicDepartment", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Disciplines");
|
||||||
|
|
||||||
|
b.Navigation("Students");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("CoreDatabase.Models.Department.Discipline", b =>
|
modelBuilder.Entity("CoreDatabase.Models.Department.Discipline", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("AcademicPlanRecords");
|
b.Navigation("AcademicPlanRecords");
|
||||||
@ -1430,6 +1501,8 @@ namespace CoreDatabase.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("CoreDatabase.Models.Department.Lecturer", b =>
|
modelBuilder.Entity("CoreDatabase.Models.Department.Lecturer", b =>
|
||||||
{
|
{
|
||||||
|
b.Navigation("BasicDepartments");
|
||||||
|
|
||||||
b.Navigation("EducationDirections");
|
b.Navigation("EducationDirections");
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
b.Navigation("LecturerPosts");
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
using CoreModels.ModelsDepartment;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using ToolsModule.ManagmentSecurity;
|
||||||
|
|
||||||
|
namespace CoreDatabase.Models.Department
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Класс, описывающий базовую кафедру
|
||||||
|
/// </summary>
|
||||||
|
[DataContract]
|
||||||
|
public class BasicDepartment : BaseEntity, IEntitySecurityExtenstion<BasicDepartment>, IBasicDepartmentModel
|
||||||
|
{
|
||||||
|
public Guid? LecturerId { get; set; }
|
||||||
|
|
||||||
|
public string BasicDepartmentName { get; set; }
|
||||||
|
|
||||||
|
public string BasicDepartmentDescription { get; set; }
|
||||||
|
|
||||||
|
public string EnterprisesName { get; set; }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
public virtual Lecturer Lecturer { get; set; }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[ForeignKey("BasicDepartmentId")]
|
||||||
|
public virtual List<Discipline> Disciplines { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("BasicDepartmentId")]
|
||||||
|
public virtual List<Student> Students { get; set; }
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
public BasicDepartment SecurityCheck(BasicDepartment entity, bool allowFullData) => entity;
|
||||||
|
|
||||||
|
public override string ToString() => BasicDepartmentName;
|
||||||
|
}
|
||||||
|
}
|
@ -18,6 +18,9 @@ namespace CoreDatabase.Models.Department
|
|||||||
[Required(ErrorMessage = "required")]
|
[Required(ErrorMessage = "required")]
|
||||||
public Guid DisciplineBlockId { get; set; }
|
public Guid DisciplineBlockId { get; set; }
|
||||||
|
|
||||||
|
[DataMember]
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
[DataMember]
|
[DataMember]
|
||||||
[Required(ErrorMessage = "required")]
|
[Required(ErrorMessage = "required")]
|
||||||
public string DisciplineName { get; set; }
|
public string DisciplineName { get; set; }
|
||||||
@ -34,6 +37,8 @@ namespace CoreDatabase.Models.Department
|
|||||||
|
|
||||||
public virtual DisciplineBlock DisciplineBlock { get; set; }
|
public virtual DisciplineBlock DisciplineBlock { get; set; }
|
||||||
|
|
||||||
|
public virtual BasicDepartment BasicDepartment { get; set; }
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
[ForeignKey("DisciplineId")]
|
[ForeignKey("DisciplineId")]
|
||||||
|
@ -87,6 +87,9 @@ namespace CoreDatabase.Models.Department
|
|||||||
[ForeignKey("LecturerId")]
|
[ForeignKey("LecturerId")]
|
||||||
public virtual List<StudentGroup> StudentGroups { get; set; }
|
public virtual List<StudentGroup> StudentGroups { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("LecturerId")]
|
||||||
|
public virtual List<BasicDepartment> BasicDepartments { get; set; }
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
public Lecturer SecurityCheck(Lecturer entity, bool allowFullData)
|
public Lecturer SecurityCheck(Lecturer entity, bool allowFullData)
|
||||||
|
@ -24,6 +24,9 @@ namespace CoreDatabase.Models.Department
|
|||||||
[DataMember]
|
[DataMember]
|
||||||
public Guid? EnrollmentYearId { get; set; }
|
public Guid? EnrollmentYearId { get; set; }
|
||||||
|
|
||||||
|
[DataMember]
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
[DataMember]
|
[DataMember]
|
||||||
[Required]
|
[Required]
|
||||||
public string Iduniv { get; set; }
|
public string Iduniv { get; set; }
|
||||||
@ -66,6 +69,8 @@ namespace CoreDatabase.Models.Department
|
|||||||
|
|
||||||
public virtual EnrollmentYear EnrollmentYear { get; set; }
|
public virtual EnrollmentYear EnrollmentYear { get; set; }
|
||||||
|
|
||||||
|
public virtual BasicDepartment BasicDepartment { get; set; }
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
[ForeignKey("StudentId")]
|
[ForeignKey("StudentId")]
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
using CoreModels.Tools;
|
||||||
|
using System;
|
||||||
|
using ToolsModule.ManagmentEntity;
|
||||||
|
|
||||||
|
namespace CoreModels.ModelsDepartment
|
||||||
|
{
|
||||||
|
[EntityDescription("BasicDepartment", "Базовая кафедра")]
|
||||||
|
[EntityDependency("Lecturer", "LecturerId", "Преподаватель, отвечающий за взаимодействие с предприятием")]
|
||||||
|
public interface IBasicDepartmentModel : IId
|
||||||
|
{
|
||||||
|
Guid? LecturerId { get; }
|
||||||
|
|
||||||
|
string BasicDepartmentName { get; }
|
||||||
|
|
||||||
|
string BasicDepartmentDescription { get; }
|
||||||
|
|
||||||
|
string EnterprisesName { get; }
|
||||||
|
}
|
||||||
|
}
|
@ -6,10 +6,13 @@ namespace CoreModels.ModelsDepartment
|
|||||||
{
|
{
|
||||||
[EntityDescription("Discipline", "Дисципилна кафедры")]
|
[EntityDescription("Discipline", "Дисципилна кафедры")]
|
||||||
[EntityDependency("DisciplineBlock", "DisciplineBlockId", "Блок дисцпилн, к которому относится дисциплина")]
|
[EntityDependency("DisciplineBlock", "DisciplineBlockId", "Блок дисцпилн, к которому относится дисциплина")]
|
||||||
|
[EntityDependency("BasicDepartment", "BasicDepartmentId", "Базовая кафедра, к которой относится дисциплина")]
|
||||||
public interface IDisciplineModel : IId
|
public interface IDisciplineModel : IId
|
||||||
{
|
{
|
||||||
Guid DisciplineBlockId { get; }
|
Guid DisciplineBlockId { get; }
|
||||||
|
|
||||||
|
Guid? BasicDepartmentId { get; }
|
||||||
|
|
||||||
string DisciplineName { get; }
|
string DisciplineName { get; }
|
||||||
|
|
||||||
string DisciplineShortName { get; }
|
string DisciplineShortName { get; }
|
||||||
|
@ -9,6 +9,7 @@ namespace CoreModels.ModelsDepartment
|
|||||||
[EntityDependency("User", "UserId", "К какому пользователю относится студент")]
|
[EntityDependency("User", "UserId", "К какому пользователю относится студент")]
|
||||||
[EntityDependency("StudentGroup", "StudentGroupId", "К какой группе относится студент")]
|
[EntityDependency("StudentGroup", "StudentGroupId", "К какой группе относится студент")]
|
||||||
[EntityDependency("EnrollmentYear", "EnrollmentYearId", "К какому году поступления/выпуска относится")]
|
[EntityDependency("EnrollmentYear", "EnrollmentYearId", "К какому году поступления/выпуска относится")]
|
||||||
|
[EntityDependency("BasicDepartment", "BasicDepartmentId", "Базовая кафедра, к которой относится студент")]
|
||||||
public interface IStudentModel : IId
|
public interface IStudentModel : IId
|
||||||
{
|
{
|
||||||
Guid UserId { get; }
|
Guid UserId { get; }
|
||||||
@ -17,6 +18,8 @@ namespace CoreModels.ModelsDepartment
|
|||||||
|
|
||||||
Guid? EnrollmentYearId { get; }
|
Guid? EnrollmentYearId { get; }
|
||||||
|
|
||||||
|
Guid? BasicDepartmentId { get; }
|
||||||
|
|
||||||
string Iduniv { get; }
|
string Iduniv { get; }
|
||||||
|
|
||||||
string NumberOfBook { get; }
|
string NumberOfBook { get; }
|
||||||
|
@ -48,6 +48,8 @@
|
|||||||
|
|
||||||
Приказы = 111,
|
Приказы = 111,
|
||||||
|
|
||||||
|
БазовыеКафедры = 112,
|
||||||
|
|
||||||
СинхронизацияПриказов = 150,
|
СинхронизацияПриказов = 150,
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
using DepartmentContract.BindingModels;
|
||||||
|
using DepartmentContract.Logics.IGenericEntityLogic;
|
||||||
|
using DepartmentContract.Services.IGenericEntityService;
|
||||||
|
using DepartmentContract.ViewModels;
|
||||||
|
using ToolsModule.ManagmentEntity;
|
||||||
|
using ToolsModule.ManagmentSecurity;
|
||||||
|
|
||||||
|
namespace DepartmentBusinessLogic.BusinessLogics.GenericBusinessLogic
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Логика работы с базовыми кафедрами
|
||||||
|
/// </summary>
|
||||||
|
public class BasicDepartmentBusinessLogic : GenericBusinessLogic<BasicDepartmentGetBindingModel, BasicDepartmentSetBindingModel, BasicDepartmentListViewModel, BasicDepartmentViewModel>, IBasicDepartmentLogic
|
||||||
|
{
|
||||||
|
public BasicDepartmentBusinessLogic(IBasicDepartmentService service) : base(service, "Базовые кафедры", AccessOperation.БазовыеКафедры) { }
|
||||||
|
}
|
||||||
|
}
|
@ -41,6 +41,8 @@ namespace DepartmentBusinessLogic
|
|||||||
|
|
||||||
DependencyManager.Instance.RegisterType<IOrderSyncHistoryLogic, OrderSyncHistoryBusinessLogic>();
|
DependencyManager.Instance.RegisterType<IOrderSyncHistoryLogic, OrderSyncHistoryBusinessLogic>();
|
||||||
DependencyManager.Instance.RegisterType<IOrderSyncHistoryRecordLogic, OrderSyncHistoryRecordBusinessLogic>();
|
DependencyManager.Instance.RegisterType<IOrderSyncHistoryRecordLogic, OrderSyncHistoryRecordBusinessLogic>();
|
||||||
|
|
||||||
|
DependencyManager.Instance.RegisterType<IBasicDepartmentLogic, BasicDepartmentBusinessLogic>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
using CoreModels.ModelsDepartment;
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using ToolsModule.ManagmentEntity;
|
||||||
|
|
||||||
|
namespace DepartmentContract.BindingModels
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Получение базовой кафедры
|
||||||
|
/// </summary>
|
||||||
|
public class BasicDepartmentGetBindingModel : GetBindingModel
|
||||||
|
{
|
||||||
|
public Guid? LecturerId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Сохранение базовой кафедры
|
||||||
|
/// </summary>
|
||||||
|
public class BasicDepartmentSetBindingModel : SetBindingModel, IBasicDepartmentModel
|
||||||
|
{
|
||||||
|
public Guid? LecturerId { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "required")]
|
||||||
|
public string BasicDepartmentName { get; set; }
|
||||||
|
|
||||||
|
public string BasicDepartmentDescription { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "required")]
|
||||||
|
public string EnterprisesName { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -15,6 +15,11 @@ namespace DepartmentContract.BindingModels
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? DisciplineBlockId { get; set; }
|
public Guid? DisciplineBlockId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Выбрка по базовым кафедрам
|
||||||
|
/// </summary>
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Поиск по названию
|
/// Поиск по названию
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -29,6 +34,8 @@ namespace DepartmentContract.BindingModels
|
|||||||
[Required(ErrorMessage = "required")]
|
[Required(ErrorMessage = "required")]
|
||||||
public Guid DisciplineBlockId { get; set; }
|
public Guid DisciplineBlockId { get; set; }
|
||||||
|
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
[Required(ErrorMessage = "required")]
|
[Required(ErrorMessage = "required")]
|
||||||
public string DisciplineName { get; set; }
|
public string DisciplineName { get; set; }
|
||||||
|
|
||||||
|
@ -17,6 +17,8 @@ namespace DepartmentContract.BindingModels
|
|||||||
|
|
||||||
public Guid? EnrollmentYearId { get; set; }
|
public Guid? EnrollmentYearId { get; set; }
|
||||||
|
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
public StudentState? StudentState { get; set; }
|
public StudentState? StudentState { get; set; }
|
||||||
|
|
||||||
public string NumberOfBook { get; set; }
|
public string NumberOfBook { get; set; }
|
||||||
@ -34,6 +36,8 @@ namespace DepartmentContract.BindingModels
|
|||||||
|
|
||||||
public Guid? EnrollmentYearId { get; set; }
|
public Guid? EnrollmentYearId { get; set; }
|
||||||
|
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
[Required(ErrorMessage = "required")]
|
[Required(ErrorMessage = "required")]
|
||||||
public string Iduniv { get; set; }
|
public string Iduniv { get; set; }
|
||||||
|
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
using DepartmentContract.BindingModels;
|
||||||
|
using DepartmentContract.ViewModels;
|
||||||
|
using ToolsModule.ManagmentEntity;
|
||||||
|
|
||||||
|
namespace DepartmentContract.Logics.IGenericEntityLogic
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Логика работы с базовыми кафедрами
|
||||||
|
/// </summary>
|
||||||
|
public interface IBasicDepartmentLogic : IGenericEntityLogic<BasicDepartmentGetBindingModel, BasicDepartmentSetBindingModel, BasicDepartmentListViewModel, BasicDepartmentViewModel> { }
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
using DepartmentContract.BindingModels;
|
||||||
|
using ToolsModule.ManagmentEntity;
|
||||||
|
|
||||||
|
namespace DepartmentContract.Services.IGenericEntityService
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Хранение базовых кафедр
|
||||||
|
/// </summary>
|
||||||
|
public interface IBasicDepartmentService : IGenericEntityService<BasicDepartmentGetBindingModel, BasicDepartmentSetBindingModel> { }
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
using CoreModels.ModelsDepartment;
|
||||||
|
using System;
|
||||||
|
using ToolsModule.ManagmentEntity;
|
||||||
|
using ToolsModule.ManagmentMapping;
|
||||||
|
|
||||||
|
namespace DepartmentContract.ViewModels
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Список аудиторий
|
||||||
|
/// </summary>
|
||||||
|
public class BasicDepartmentListViewModel : ListViewModel<BasicDepartmentViewModel> { }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Элемент аудитории
|
||||||
|
/// </summary>
|
||||||
|
[ViewModelControlElementClass(HaveDependenceEntities = true, Width = 800, Height = 700)]
|
||||||
|
[ViewModelControlElementDependenceEntity(Title = "Дисциплины", Order = 1, ParentPropertyName = "BasicDepartmentId",
|
||||||
|
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineList, DepartmentWindowsDesktop")]
|
||||||
|
[ViewModelControlElementDependenceEntity(Title = "Студенты", Order = 2, ParentPropertyName = "BasicDepartmentId",
|
||||||
|
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlStudentList, DepartmentWindowsDesktop")]
|
||||||
|
public class BasicDepartmentViewModel : ElementViewModel, IBasicDepartmentModel
|
||||||
|
{
|
||||||
|
[ViewModelControlElementProperty("Ответственный", ControlType.ControlGuid, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlLecturerList, DepartmentWindowsDesktop")]
|
||||||
|
public Guid? LecturerId { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlListProperty("Ответственный")]
|
||||||
|
[MapConfiguration("Lecturer.LastName")]
|
||||||
|
public string LecturerName { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlListProperty("Название", ColumnWidth = 100)]
|
||||||
|
[ViewModelControlElementProperty("Название", ControlType.ControlString, MustHaveValue = true)]
|
||||||
|
public string BasicDepartmentName { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlListProperty("Описание", ColumnWidth = 100)]
|
||||||
|
[ViewModelControlElementProperty("Описание", ControlType.ControlString)]
|
||||||
|
public string BasicDepartmentDescription { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlListProperty("Предприятие", ColumnWidth = 100)]
|
||||||
|
[ViewModelControlElementProperty("Предприятие", ControlType.ControlString, MustHaveValue = true)]
|
||||||
|
public string EnterprisesName { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -20,6 +20,12 @@ namespace DepartmentContract.ViewModels
|
|||||||
[ViewModelControlElementProperty("Блок дисциплин", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineBlockList, DepartmentWindowsDesktop")]
|
[ViewModelControlElementProperty("Блок дисциплин", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineBlockList, DepartmentWindowsDesktop")]
|
||||||
public Guid DisciplineBlockId { get; set; }
|
public Guid DisciplineBlockId { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlElementProperty("Базовая кафедра", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlBasicDepartmentList, DepartmentWindowsDesktop")]
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlListProperty("Базовая кафедра")]
|
||||||
|
public bool IsBasicDepartmentId => BasicDepartmentId.HasValue ? true : false;
|
||||||
|
|
||||||
[ViewModelControlListProperty("Название дисциплины")]
|
[ViewModelControlListProperty("Название дисциплины")]
|
||||||
[ViewModelControlElementProperty("Название дисциплины", ControlType.ControlString, MustHaveValue = true)]
|
[ViewModelControlElementProperty("Название дисциплины", ControlType.ControlString, MustHaveValue = true)]
|
||||||
public string DisciplineName { get; set; }
|
public string DisciplineName { get; set; }
|
||||||
|
@ -31,6 +31,9 @@ namespace DepartmentContract.ViewModels
|
|||||||
[ViewModelControlElementProperty("Год выпуска", ControlType.ControlGuid, MustHaveValue = false, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEnrollmentYearList, DepartmentWindowsDesktop")]
|
[ViewModelControlElementProperty("Год выпуска", ControlType.ControlGuid, MustHaveValue = false, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlEnrollmentYearList, DepartmentWindowsDesktop")]
|
||||||
public Guid? EnrollmentYearId { get; set; }
|
public Guid? EnrollmentYearId { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlElementProperty("Базовая кафедра", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlBasicDepartmentList, DepartmentWindowsDesktop")]
|
||||||
|
public Guid? BasicDepartmentId { get; set; }
|
||||||
|
|
||||||
[ViewModelControlElementProperty("Идентификатор универа", ControlType.ControlString, MustHaveValue = true, ReadOnly = true)]
|
[ViewModelControlElementProperty("Идентификатор универа", ControlType.ControlString, MustHaveValue = true, ReadOnly = true)]
|
||||||
public string Iduniv { get; set; }
|
public string Iduniv { get; set; }
|
||||||
|
|
||||||
@ -54,6 +57,9 @@ namespace DepartmentContract.ViewModels
|
|||||||
[ViewModelControlElementProperty("Эл. почта", ControlType.ControlString, MustHaveValue = true)]
|
[ViewModelControlElementProperty("Эл. почта", ControlType.ControlString, MustHaveValue = true)]
|
||||||
public string Email { get; set; }
|
public string Email { get; set; }
|
||||||
|
|
||||||
|
[ViewModelControlListProperty("Базовая кафедра")]
|
||||||
|
public bool IsBasicDepartmentId => BasicDepartmentId.HasValue ? true : false;
|
||||||
|
|
||||||
[ViewModelControlElementProperty("Описание", ControlType.ControlText)]
|
[ViewModelControlElementProperty("Описание", ControlType.ControlText)]
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
|
|
||||||
|
@ -42,6 +42,8 @@ namespace DepartmentDatabaseImplementation
|
|||||||
|
|
||||||
DependencyManager.Instance.RegisterType<IOrderSyncHistoryService, OrderSyncHistoryService>();
|
DependencyManager.Instance.RegisterType<IOrderSyncHistoryService, OrderSyncHistoryService>();
|
||||||
DependencyManager.Instance.RegisterType<IOrderSyncHistoryRecordService, OrderSyncHistoryRecordService>();
|
DependencyManager.Instance.RegisterType<IOrderSyncHistoryRecordService, OrderSyncHistoryRecordService>();
|
||||||
|
|
||||||
|
DependencyManager.Instance.RegisterType<IBasicDepartmentService, BasicDepartmentService>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,57 @@
|
|||||||
|
using CoreDatabase;
|
||||||
|
using CoreDatabase.Models.Department;
|
||||||
|
using DepartmentContract.BindingModels;
|
||||||
|
using DepartmentContract.Services.IGenericEntityService;
|
||||||
|
using DepartmentContract.ViewModels;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System.Linq;
|
||||||
|
using ToolsModule.ManagmentEntity;
|
||||||
|
|
||||||
|
namespace DepartmentDatabaseImplementation.Implementations.AbstractGenerticEntityService
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Реализация интерфейса IBasicDepartmentService
|
||||||
|
/// </summary>
|
||||||
|
public class BasicDepartmentService :
|
||||||
|
AbstractGenerticEntityService<BasicDepartmentGetBindingModel, BasicDepartmentSetBindingModel, BasicDepartment, BasicDepartmentListViewModel, BasicDepartmentViewModel>,
|
||||||
|
IBasicDepartmentService
|
||||||
|
{
|
||||||
|
protected override OperationResultModel AdditionalCheckingWhenAdding(DbContext context, BasicDepartmentSetBindingModel model) => OperationResultModel.Success(null);
|
||||||
|
|
||||||
|
protected override OperationResultModel AdditionalCheckingWhenDeleting(DbContext context, BasicDepartment entity, BasicDepartmentGetBindingModel model) => OperationResultModel.Success(null);
|
||||||
|
|
||||||
|
protected override IQueryable<BasicDepartment> AdditionalCheckingWhenReadingList(IQueryable<BasicDepartment> query, BasicDepartmentGetBindingModel model)
|
||||||
|
{
|
||||||
|
if (model.LecturerId.HasValue)
|
||||||
|
{
|
||||||
|
query = query.Where(x => x.LecturerId == model.LecturerId.Value);
|
||||||
|
}
|
||||||
|
return query;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override OperationResultModel AdditionalCheckingWhenUpdateing(DbContext context, BasicDepartmentSetBindingModel model) => OperationResultModel.Success(null);
|
||||||
|
|
||||||
|
protected override void AdditionalDeleting(DbContext context, BasicDepartment entity, BasicDepartmentGetBindingModel model)
|
||||||
|
{
|
||||||
|
var studentrecords = context.Set<Student>().Where(x => x.BasicDepartmentId == model.Id);
|
||||||
|
foreach (var record in studentrecords)
|
||||||
|
{
|
||||||
|
record.BasicDepartmentId = null;
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
var disciplinerecords = context.Set<Discipline>().Where(x => x.BasicDepartmentId == model.Id);
|
||||||
|
foreach (var record in disciplinerecords)
|
||||||
|
{
|
||||||
|
record.BasicDepartmentId = null;
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override BasicDepartment GetUniqueEntity(BasicDepartmentSetBindingModel model, DbContext context) => context.Set<BasicDepartment>().FirstOrDefault(x => x.BasicDepartmentName == model.BasicDepartmentName && x.Id != model.Id);
|
||||||
|
|
||||||
|
protected override IQueryable<BasicDepartment> IncludingWhenReading(IQueryable<BasicDepartment> query) => query.Include(x => x.Lecturer);
|
||||||
|
|
||||||
|
protected override IQueryable<BasicDepartment> OrderingWhenReading(IQueryable<BasicDepartment> query) => query.OrderBy(x => x.BasicDepartmentName);
|
||||||
|
}
|
||||||
|
}
|
@ -38,6 +38,10 @@ namespace DepartmentDatabaseImplementation.Implementations.AbstractGenerticEntit
|
|||||||
{
|
{
|
||||||
query = query.Where(x => x.DisciplineBlockId == model.DisciplineBlockId.Value);
|
query = query.Where(x => x.DisciplineBlockId == model.DisciplineBlockId.Value);
|
||||||
}
|
}
|
||||||
|
if (model.BasicDepartmentId.HasValue)
|
||||||
|
{
|
||||||
|
query = query.Where(x => x.BasicDepartmentId == model.BasicDepartmentId.Value);
|
||||||
|
}
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,6 +40,10 @@ namespace DepartmentDatabaseImplementation.Implementations.AbstractGenerticEntit
|
|||||||
{
|
{
|
||||||
query = query.Where(x => x.StudentState == model.StudentState.Value);
|
query = query.Where(x => x.StudentState == model.StudentState.Value);
|
||||||
}
|
}
|
||||||
|
if (model.BasicDepartmentId.HasValue)
|
||||||
|
{
|
||||||
|
query = query.Where(x => x.BasicDepartmentId == model.BasicDepartmentId.Value);
|
||||||
|
}
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,8 @@ namespace DepartmentWindowsDesktop
|
|||||||
new ControlStudentGroupList(),
|
new ControlStudentGroupList(),
|
||||||
new ControlStudentList(),
|
new ControlStudentList(),
|
||||||
new ControlOrderList(),
|
new ControlOrderList(),
|
||||||
new ControlOrderSyncHistoryList()
|
new ControlOrderSyncHistoryList(),
|
||||||
|
new ControlBasicDepartmentList()
|
||||||
};
|
};
|
||||||
|
|
||||||
foreach (var cntrl in _controls)
|
foreach (var cntrl in _controls)
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
namespace DepartmentWindowsDesktop.EntityControls
|
||||||
|
{
|
||||||
|
partial class ControlBasicDepartmentElement
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Освободить все используемые ресурсы.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Код, автоматически созданный конструктором компонентов
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Требуемый метод для поддержки конструктора — не изменяйте
|
||||||
|
/// содержимое этого метода с помощью редактора кода.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
components = new System.ComponentModel.Container();
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
using DepartmentContract.BindingModels;
|
||||||
|
using DepartmentContract.Logics.IGenericEntityLogic;
|
||||||
|
using DepartmentContract.ViewModels;
|
||||||
|
using System;
|
||||||
|
using ToolsDesktop.Controls;
|
||||||
|
using ToolsDesktop.Interfaces;
|
||||||
|
using ToolsDesktop.Models;
|
||||||
|
|
||||||
|
namespace DepartmentWindowsDesktop.EntityControls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Реализация контрола для базовой кафедры
|
||||||
|
/// </summary>
|
||||||
|
public partial class ControlBasicDepartmentElement :
|
||||||
|
GenericControlEntityElement<BasicDepartmentGetBindingModel, BasicDepartmentSetBindingModel, BasicDepartmentListViewModel, BasicDepartmentViewModel, IBasicDepartmentLogic>,
|
||||||
|
IGenericControlEntityElement
|
||||||
|
{
|
||||||
|
public ControlBasicDepartmentElement()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Title = "Базовая кафедра";
|
||||||
|
ControlId = new Guid("bce7c7f4-2b7f-4b0c-aa4b-0c7a026967c6");
|
||||||
|
_genericControlViewEntityElement = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IControl GetInstanceGenericControl() => new ControlBasicDepartmentElement() { ControlId = Guid.NewGuid() };
|
||||||
|
|
||||||
|
public ControlViewEntityElementConfiguration GetConfigControl() => new();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
namespace DepartmentWindowsDesktop.EntityControls
|
||||||
|
{
|
||||||
|
partial class ControlBasicDepartmentList
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Освободить все используемые ресурсы.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Код, автоматически созданный конструктором компонентов
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Требуемый метод для поддержки конструктора — не изменяйте
|
||||||
|
/// содержимое этого метода с помощью редактора кода.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
components = new System.ComponentModel.Container();
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
using DepartmentContract.BindingModels;
|
||||||
|
using DepartmentContract.Logics.IGenericEntityLogic;
|
||||||
|
using DepartmentContract.ViewModels;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using ToolsDesktop.Controls;
|
||||||
|
using ToolsDesktop.Enums;
|
||||||
|
using ToolsDesktop.Interfaces;
|
||||||
|
using ToolsDesktop.Models;
|
||||||
|
using ToolsModule.ManagmentSecurity;
|
||||||
|
|
||||||
|
namespace DepartmentWindowsDesktop.EntityControls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Реализация контрола для списка базовых кафедр
|
||||||
|
/// </summary>
|
||||||
|
public partial class ControlBasicDepartmentList :
|
||||||
|
GenericControlEntityList<BasicDepartmentGetBindingModel, BasicDepartmentSetBindingModel, BasicDepartmentListViewModel, BasicDepartmentViewModel, IBasicDepartmentLogic>,
|
||||||
|
IGenericControlEntityList
|
||||||
|
{
|
||||||
|
public ControlBasicDepartmentList()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
Title = "Базовые кафедры";
|
||||||
|
ControlId = new Guid("3f6d5487-f10d-43d9-8f5a-2059403b8946");
|
||||||
|
AccessOperation = AccessOperation.БазовыеКафедры;
|
||||||
|
ControlViewEntityElement = new ControlBasicDepartmentElement();
|
||||||
|
_genericControlViewEntityList = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IControl GetInstanceGenericControl() => new ControlBasicDepartmentList() { ControlId = Guid.NewGuid() };
|
||||||
|
|
||||||
|
public ControlViewEntityListConfiguration GetConfigControl() => new()
|
||||||
|
{
|
||||||
|
PaginationOn = false,
|
||||||
|
HideToolStripButton = new List<ToolStripButtonListNames>
|
||||||
|
{
|
||||||
|
ToolStripButtonListNames.toolStripButtonSearch
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
@ -24,7 +24,7 @@ namespace DepartmentWindowsDesktop.EntityControls
|
|||||||
Title = "Года поступления";
|
Title = "Года поступления";
|
||||||
ControlId = new Guid("c0b26e65-78fa-40b6-b6ab-2f9c5a0b19dc");
|
ControlId = new Guid("c0b26e65-78fa-40b6-b6ab-2f9c5a0b19dc");
|
||||||
AccessOperation = AccessOperation.Должности;
|
AccessOperation = AccessOperation.Должности;
|
||||||
ControlViewEntityElement = new ControlEmployeePostElement();
|
ControlViewEntityElement = new ControlEnrollmentYearElement();
|
||||||
_genericControlViewEntityList = this;
|
_genericControlViewEntityList = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user