Compare commits
1 Commits
Feature/St
...
main
Author | SHA1 | Date | |
---|---|---|---|
9a621e932d |
10
.drone.yml
Normal file
10
.drone.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: greeting
|
||||||
|
image: alpine
|
||||||
|
commands:
|
||||||
|
- echo hello
|
||||||
|
- echo world
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -12,8 +12,6 @@
|
|||||||
|
|
||||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
*.userprefs
|
*.userprefs
|
||||||
WindowDestopExtensions/
|
|
||||||
ImplementationExtensions/
|
|
||||||
|
|
||||||
# Mono auto generated files
|
# Mono auto generated files
|
||||||
mono_crash.*
|
mono_crash.*
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="DocumentFormat.OpenXml" Version="2.16.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\Common\ModuleTools\ModuleTools.csproj" />
|
|
||||||
<ProjectReference Include="..\Department\DepartmentBusinessLogic\DepartmentBusinessLogic.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
|
||||||
<Exec Command="copy /Y "$(TargetDir)*.dll" "$(SolutionDir)ImplementationExtensions\*.dll"" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
|
@ -1,25 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.BindingModels
|
|
||||||
{
|
|
||||||
// <summary>
|
|
||||||
/// Информация по выгрузке отчета
|
|
||||||
/// </summary>
|
|
||||||
public class ReportBindingModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Путь до папки, куда выгружать отчет
|
|
||||||
/// </summary>
|
|
||||||
public string FolderName { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Id студента, для которого формируется отчет
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public Guid? StudentId { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.Enums;
|
|
||||||
using DepartmentBusinessLogic.Enums;
|
|
||||||
using ModuleTools.Attributes;
|
|
||||||
using ModuleTools.BindingModels;
|
|
||||||
using System;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.BindingModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Получение записи успеваемости студента
|
|
||||||
/// </summary>
|
|
||||||
public class StudentAcademicProgressGetBindingModel : GetBindingModel
|
|
||||||
{
|
|
||||||
public Guid? StudentId { get; set; }
|
|
||||||
public Guid? DisciplineId { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Сохранение записи успеваемости студента
|
|
||||||
/// </summary>
|
|
||||||
public class StudentAcademicProgressSetBindingModel : SetBindingModel
|
|
||||||
{
|
|
||||||
[Required(ErrorMessage = "required")]
|
|
||||||
[MapConfiguration("StudentId")]
|
|
||||||
public Guid StudentId { get; set; }
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "required")]
|
|
||||||
[MapConfiguration("DisciplineId")]
|
|
||||||
public Guid DisciplineId { get; set; }
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "required")]
|
|
||||||
[MapConfiguration("Semester")]
|
|
||||||
public Semester Semester { get; set; }
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "required")]
|
|
||||||
[MapConfiguration("Score")]
|
|
||||||
public ExamScores Score { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
[Required(ErrorMessage = "required")]
|
|
||||||
[MapConfiguration("AffixingDate")]
|
|
||||||
public DateTime AffixingDate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Является повышением оценки
|
|
||||||
/// </summary>
|
|
||||||
[MapConfiguration("IsIncreaseScore")]
|
|
||||||
public bool IsIncreaseScore { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Является сдачей по направлению
|
|
||||||
/// </summary>
|
|
||||||
[MapConfiguration("IsResit")]
|
|
||||||
public bool IsResit { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,334 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.BusinessLogic;
|
|
||||||
using AcademicProgressBusinessLogic.Enums;
|
|
||||||
using AcademicProgressBusinessLogic.HelperModels;
|
|
||||||
using AcademicProgressBusinessLogic.Interfaces;
|
|
||||||
using AcademicProgressBusinessLogic.ViewModels;
|
|
||||||
using DepartmentBusinessLogic.BindingModels;
|
|
||||||
using DepartmentBusinessLogic.BusinessLogics;
|
|
||||||
using DepartmentBusinessLogic.Interfaces;
|
|
||||||
using ModuleTools.BusinessLogics;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using ModuleTools.Extensions;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.BusinessLogics
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Логика работы с отчетами
|
|
||||||
/// </summary>
|
|
||||||
public class ReportLogic : CoreBusinessLogic
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Логика для работы со студентами
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
private readonly StudentBusinessLogic _studentlogic;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Логика для работы с успеваемостью студента
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
private readonly StudentAcademicProgressBusinessLogic _studentAcademicProgresslogic;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Логика для работы с дисциплинами
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
private readonly DisciplineBusinessLogic _disciplinelogic;
|
|
||||||
|
|
||||||
private readonly AcademicPlanRecordBusinessLogic _academicPlanRecordlogic;
|
|
||||||
private readonly StudentGroupBusinessLogic _studentGrouplogic;
|
|
||||||
private readonly EducationDirectionBusinessLogic _educationDirectionlogic;
|
|
||||||
private readonly AcademicPlanBusinessLogic _academicPlanlogic;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Логика работы с отчетом
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="service"></param>
|
|
||||||
public ReportLogic(AcademicPlanRecordBusinessLogic _academicPlanRecordlogic, EducationDirectionBusinessLogic _educationDirectionlogic, AcademicPlanBusinessLogic _academicPlanlogic,
|
|
||||||
StudentGroupBusinessLogic _studentGrouplogic, StudentBusinessLogic _studentlogic, StudentAcademicProgressBusinessLogic _studentAcademicProgressService, DisciplineBusinessLogic _disciplinelogic)
|
|
||||||
{
|
|
||||||
this._studentGrouplogic = _studentGrouplogic;
|
|
||||||
this._educationDirectionlogic = _educationDirectionlogic;
|
|
||||||
this._academicPlanlogic = _academicPlanlogic;
|
|
||||||
this._academicPlanRecordlogic = _academicPlanRecordlogic;
|
|
||||||
this._studentAcademicProgresslogic = _studentAcademicProgressService;
|
|
||||||
this._disciplinelogic = _disciplinelogic;
|
|
||||||
this._studentlogic = _studentlogic;
|
|
||||||
_serviceOperation = AccessOperation.Отчет_успеваемость;
|
|
||||||
_entity = "Отчеты для успеваемости";
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SaveReportToWordFile(ReportBindingModel model)
|
|
||||||
{
|
|
||||||
SaveToWord.CreateDoc(new WordInfo
|
|
||||||
{
|
|
||||||
FileName = model.FolderName,
|
|
||||||
Title = "Приложение к диплому",
|
|
||||||
StudentScores = GetStudentScores(model.StudentId)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SaveReportToExcelFile(ReportBindingModel model)
|
|
||||||
{
|
|
||||||
SaveToExcel.CreateDoc(new ExcelInfo
|
|
||||||
{
|
|
||||||
FileName = model.FolderName,
|
|
||||||
Title = "Успеваемость",
|
|
||||||
StudentScores = GetStudentScoresForProgress(model.StudentId)
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
public List<StudentScoresViewModel> GetStudentScoresForProgress(Guid? studentId)
|
|
||||||
{
|
|
||||||
var academicProgress = _studentAcademicProgresslogic.GetList(new StudentAcademicProgressGetBindingModel());
|
|
||||||
var discipline = _disciplinelogic.GetList(new DisciplineGetBindingModel());
|
|
||||||
var academicPlanRecords = _academicPlanRecordlogic.GetList(new AcademicPlanRecordGetBindingModel());
|
|
||||||
var students = _studentlogic.GetList(new StudentGetBindingModel());
|
|
||||||
var educationDirections = _educationDirectionlogic.GetList(new EducationDirectionGetBindingModel());
|
|
||||||
var studentGroup = _studentGrouplogic.GetList(new StudentGroupGetBindingModel());
|
|
||||||
var academicPlans = _academicPlanlogic.GetList(new AcademicPlanGetBindingModel());
|
|
||||||
|
|
||||||
var list = new List<StudentScoresViewModel>();
|
|
||||||
double average = 0;
|
|
||||||
double count = 0;
|
|
||||||
string score = "";
|
|
||||||
foreach (var student in students.List.Where(rec => rec.Id == studentId))
|
|
||||||
{
|
|
||||||
foreach (var studGroup in studentGroup.List.Where(rec => rec.Id == student.StudentGroupId))
|
|
||||||
{
|
|
||||||
foreach (var educatDirection in educationDirections.List.Where(rec => rec.Id == studGroup.EducationDirectionId))
|
|
||||||
{
|
|
||||||
foreach (var academicPlan in academicPlans.List.Where(rec => rec.EducationDirectionId == educatDirection.Id))
|
|
||||||
{
|
|
||||||
foreach (var academicPlanRecord in academicPlanRecords.List.Where(rec => rec.AcademicPlanId == academicPlan.Id))
|
|
||||||
{
|
|
||||||
|
|
||||||
//является ли родителем
|
|
||||||
if (academicPlanRecord.IsParent)
|
|
||||||
{
|
|
||||||
bool hasScore = false;
|
|
||||||
//ищем всех детей
|
|
||||||
foreach (var academicPlanRecordChild in academicPlanRecords.List.Where(rec => rec.AcademicPlanRecordParentId == academicPlanRecord.Id))
|
|
||||||
{
|
|
||||||
//если есть оценки то заполняем
|
|
||||||
foreach (var studProgress in academicProgress.List.Where(rec => rec.StudentId == studentId && rec.DisciplineId == academicPlanRecordChild.DisciplineId && rec.Semester == academicPlanRecordChild.Semester))
|
|
||||||
{
|
|
||||||
var record = new StudentScoresViewModel
|
|
||||||
{
|
|
||||||
DisciplineName = academicPlanRecordChild.DisciplineName,
|
|
||||||
Scores = studProgress.ExamScoresTitle,
|
|
||||||
StudentLastName = student.LastName,
|
|
||||||
StudentFirstName = student.FirstName,
|
|
||||||
Semester = (int)academicPlanRecordChild.Semester,
|
|
||||||
Zet = academicPlanRecordChild.Zet
|
|
||||||
};
|
|
||||||
list.Add(record);
|
|
||||||
hasScore = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//если оценок нет, то вставляем имя родителя
|
|
||||||
if (!hasScore)
|
|
||||||
{
|
|
||||||
|
|
||||||
var record = new StudentScoresViewModel
|
|
||||||
{
|
|
||||||
DisciplineName = academicPlanRecord.DisciplineName,
|
|
||||||
Scores = " ",
|
|
||||||
Semester = (int)academicPlanRecord.Semester,
|
|
||||||
StudentLastName = student.LastName,
|
|
||||||
StudentFirstName = student.FirstName,
|
|
||||||
Zet = academicPlanRecord.Zet
|
|
||||||
};
|
|
||||||
list.Add(record);
|
|
||||||
}
|
|
||||||
}//если не имеет детей то записываем имя без оценки
|
|
||||||
else if (academicPlanRecord.IsChildValue == "Нет")
|
|
||||||
{
|
|
||||||
|
|
||||||
var record = new StudentScoresViewModel
|
|
||||||
{
|
|
||||||
DisciplineName = academicPlanRecord.DisciplineName,
|
|
||||||
Scores = " ",
|
|
||||||
Semester = (int)academicPlanRecord.Semester,
|
|
||||||
StudentLastName = student.LastName,
|
|
||||||
StudentFirstName = student.FirstName,
|
|
||||||
Zet = academicPlanRecord.Zet
|
|
||||||
};
|
|
||||||
list.Add(record);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//поставили оценки из успеваемости студента в лист
|
|
||||||
foreach (var l in list)
|
|
||||||
{
|
|
||||||
foreach (var studProgress in academicProgress.List.Where(rec => rec.StudentId == studentId && l.DisciplineName == rec.DisciplineName && l.Semester == (int)rec.Semester))
|
|
||||||
{
|
|
||||||
|
|
||||||
switch (studProgress.Score)
|
|
||||||
{
|
|
||||||
case ExamScores.Отлично:
|
|
||||||
average += 5;
|
|
||||||
score = "5";
|
|
||||||
count++;
|
|
||||||
|
|
||||||
break;
|
|
||||||
case ExamScores.Хорошо:
|
|
||||||
average += 4;
|
|
||||||
score = "4";
|
|
||||||
count++;
|
|
||||||
|
|
||||||
break;
|
|
||||||
case ExamScores.Удовлетворительно:
|
|
||||||
average += 3;
|
|
||||||
score = "3";
|
|
||||||
count++;
|
|
||||||
|
|
||||||
break;
|
|
||||||
case ExamScores.Зачет:
|
|
||||||
score = "+";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
l.Scores = score;
|
|
||||||
}
|
|
||||||
|
|
||||||
l.Average = Math.Round(((average) / count) , 2);
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public List<StudentScoresViewModel> GetStudentScores(Guid? studentId)
|
|
||||||
{
|
|
||||||
var academicProgress = _studentAcademicProgresslogic.GetList(new StudentAcademicProgressGetBindingModel());
|
|
||||||
var discipline = _disciplinelogic.GetList(new DisciplineGetBindingModel());
|
|
||||||
var academicPlanRecords = _academicPlanRecordlogic.GetList(new AcademicPlanRecordGetBindingModel());
|
|
||||||
var students = _studentlogic.GetList(new StudentGetBindingModel());
|
|
||||||
var educationDirections = _educationDirectionlogic.GetList(new EducationDirectionGetBindingModel());
|
|
||||||
var studentGroup = _studentGrouplogic.GetList(new StudentGroupGetBindingModel());
|
|
||||||
var academicPlans = _academicPlanlogic.GetList(new AcademicPlanGetBindingModel());
|
|
||||||
var list = new List<StudentScoresViewModel>();
|
|
||||||
//записываем имена дисциплин в лист
|
|
||||||
foreach (var student in students.List.Where(rec => rec.Id == studentId))
|
|
||||||
{
|
|
||||||
foreach (var studGroup in studentGroup.List.Where(rec => rec.Id == student.StudentGroupId))
|
|
||||||
{
|
|
||||||
foreach (var educatDirection in educationDirections.List.Where(rec => rec.Id == studGroup.EducationDirectionId))
|
|
||||||
{
|
|
||||||
foreach (var academicPlan in academicPlans.List.Where(rec => rec.EducationDirectionId == educatDirection.Id))
|
|
||||||
{
|
|
||||||
foreach (var academicPlanRecord in academicPlanRecords.List.Where(rec => rec.AcademicPlanId == academicPlan.Id).OrderBy(rec => rec.DisciplineName).ThenByDescending(rec => rec.SemesterTitle))
|
|
||||||
{
|
|
||||||
|
|
||||||
//является ли родителем
|
|
||||||
if (academicPlanRecord.IsParent)
|
|
||||||
{
|
|
||||||
bool hasScore = false;
|
|
||||||
//ищем всех детей
|
|
||||||
foreach (var academicPlanRecordChild in academicPlanRecords.List.Where(rec => rec.AcademicPlanRecordParentId == academicPlanRecord.Id))
|
|
||||||
{
|
|
||||||
//если есть оценки то заполняем
|
|
||||||
foreach (var studProgress in academicProgress.List.Where(rec => rec.StudentId == studentId && rec.DisciplineId == academicPlanRecordChild.DisciplineId && rec.Semester == academicPlanRecordChild.Semester))
|
|
||||||
{
|
|
||||||
var record = new StudentScoresViewModel
|
|
||||||
{
|
|
||||||
DisciplineName = academicPlanRecordChild.DisciplineName,
|
|
||||||
Scores = studProgress.ExamScoresTitle,
|
|
||||||
StudentLastName = student.LastName,
|
|
||||||
StudentFirstName = student.FirstName,
|
|
||||||
Semester = (int)academicPlanRecordChild.Semester,
|
|
||||||
Zet = academicPlanRecordChild.Zet
|
|
||||||
};
|
|
||||||
list.Add(record);
|
|
||||||
hasScore = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//если оценок нет, то вставляем имя родителя
|
|
||||||
if (!hasScore)
|
|
||||||
{
|
|
||||||
|
|
||||||
var record = new StudentScoresViewModel
|
|
||||||
{
|
|
||||||
DisciplineName = academicPlanRecord.DisciplineName,
|
|
||||||
Scores = " ",
|
|
||||||
Semester = (int)academicPlanRecord.Semester,
|
|
||||||
StudentLastName = student.LastName,
|
|
||||||
StudentFirstName = student.FirstName,
|
|
||||||
Zet = academicPlanRecord.Zet
|
|
||||||
};
|
|
||||||
list.Add(record);
|
|
||||||
}
|
|
||||||
}//если не имеет детей то записываем имя без оценки
|
|
||||||
else if (academicPlanRecord.IsChildValue == "Нет")
|
|
||||||
{
|
|
||||||
|
|
||||||
var record = new StudentScoresViewModel
|
|
||||||
{
|
|
||||||
DisciplineName = academicPlanRecord.DisciplineName,
|
|
||||||
Scores = " ",
|
|
||||||
Semester = (int)academicPlanRecord.Semester,
|
|
||||||
StudentLastName = student.LastName,
|
|
||||||
StudentFirstName = student.FirstName,
|
|
||||||
Zet = academicPlanRecord.Zet
|
|
||||||
};
|
|
||||||
list.Add(record);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var list2 = new List<StudentScoresViewModel>();
|
|
||||||
list2.Add(list[0]);
|
|
||||||
int z = 0;
|
|
||||||
//в новый лист заносим только по одной дисциплине и складываем з.ешки у одинаковых дисциплин
|
|
||||||
foreach (var l in list)
|
|
||||||
{
|
|
||||||
if (l.DisciplineName != list2[list2.Count - 1].DisciplineName)
|
|
||||||
{
|
|
||||||
list2.Add(l);
|
|
||||||
z += l.Zet;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
list2[list2.Count - 1].Zet += l.Zet;
|
|
||||||
z += l.Zet;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//записываем оценки в лист из успевамости
|
|
||||||
foreach (var l in list2)
|
|
||||||
{
|
|
||||||
foreach (var studProgress in academicProgress.List.Where(rec => rec.StudentId == studentId))
|
|
||||||
{
|
|
||||||
if (l.DisciplineName == studProgress.DisciplineName && l.Semester == (int)studProgress.Semester && l.Scores != null)
|
|
||||||
{
|
|
||||||
l.Scores = studProgress.Score.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
list.Clear();
|
|
||||||
|
|
||||||
foreach (var l in list2.OrderBy(rec => rec.Semester))
|
|
||||||
{
|
|
||||||
list.Add(l);
|
|
||||||
}
|
|
||||||
|
|
||||||
list[list.Count - 1].Average = z;
|
|
||||||
|
|
||||||
return list;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,425 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.HelperModels;
|
|
||||||
using DocumentFormat.OpenXml;
|
|
||||||
using DocumentFormat.OpenXml.Office2010.Excel;
|
|
||||||
using DocumentFormat.OpenXml.Office2013.Excel;
|
|
||||||
using DocumentFormat.OpenXml.Packaging;
|
|
||||||
using DocumentFormat.OpenXml.Spreadsheet;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.BusinessLogic
|
|
||||||
{
|
|
||||||
public class SaveToExcel
|
|
||||||
{
|
|
||||||
public static void CreateDoc(ExcelInfo info)
|
|
||||||
{
|
|
||||||
using (SpreadsheetDocument spreadsheetDocument =
|
|
||||||
SpreadsheetDocument.Create(info.FileName+ "//" + info.Title + "5.xlsx", SpreadsheetDocumentType.Workbook))
|
|
||||||
{
|
|
||||||
// Создаем книгу (в ней хранятся листы)
|
|
||||||
WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
|
|
||||||
workbookpart.Workbook = new Workbook();
|
|
||||||
CreateStyles(workbookpart);
|
|
||||||
// Получаем/создаем хранилище текстов для книги
|
|
||||||
SharedStringTablePart shareStringPart =
|
|
||||||
spreadsheetDocument.WorkbookPart.GetPartsOfType<SharedStringTablePart>().Count() > 0
|
|
||||||
?
|
|
||||||
spreadsheetDocument.WorkbookPart.GetPartsOfType<SharedStringTablePart>().First() : spreadsheetDocument.WorkbookPart.AddNewPart<SharedStringTablePart>();
|
|
||||||
// Создаем SharedStringTable, если его нет
|
|
||||||
if (shareStringPart.SharedStringTable == null)
|
|
||||||
{
|
|
||||||
shareStringPart.SharedStringTable = new SharedStringTable();
|
|
||||||
}
|
|
||||||
// Создаем лист в книгу
|
|
||||||
WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
|
|
||||||
worksheetPart.Worksheet = new Worksheet(new SheetData());
|
|
||||||
// Добавляем лист в книгу
|
|
||||||
Sheets sheets =
|
|
||||||
spreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets());
|
|
||||||
Sheet sheet = new Sheet()
|
|
||||||
{
|
|
||||||
Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart),
|
|
||||||
SheetId = 1,
|
|
||||||
Name = "Лист"
|
|
||||||
};
|
|
||||||
sheets.Append(sheet);
|
|
||||||
|
|
||||||
InsertCellInWorksheet(new ExcelCellParameters
|
|
||||||
{
|
|
||||||
Worksheet = worksheetPart.Worksheet,
|
|
||||||
ShareStringPart = shareStringPart,
|
|
||||||
ColumnName = "A",
|
|
||||||
RowIndex = 1,
|
|
||||||
Text = info.Title,
|
|
||||||
StyleIndex = 2U
|
|
||||||
});
|
|
||||||
uint rowIndex = 4;
|
|
||||||
|
|
||||||
if (info.StudentScores != null)
|
|
||||||
{
|
|
||||||
int indexList = 3;
|
|
||||||
foreach (var pc in info.StudentScores)
|
|
||||||
{
|
|
||||||
|
|
||||||
rowIndex = 4;
|
|
||||||
InsertCellInWorksheet(new ExcelCellParameters
|
|
||||||
{
|
|
||||||
Worksheet = worksheetPart.Worksheet,
|
|
||||||
ShareStringPart = shareStringPart,
|
|
||||||
ColumnName = GetExcelColumnName(indexList),
|
|
||||||
RowIndex = rowIndex,
|
|
||||||
Text = pc.DisciplineName,
|
|
||||||
StyleIndex = 1U
|
|
||||||
});
|
|
||||||
rowIndex++;
|
|
||||||
InsertCellInWorksheet(new ExcelCellParameters
|
|
||||||
{
|
|
||||||
Worksheet = worksheetPart.Worksheet,
|
|
||||||
ShareStringPart = shareStringPart,
|
|
||||||
ColumnName = GetExcelColumnName(indexList),
|
|
||||||
RowIndex = rowIndex,
|
|
||||||
Text = pc.Scores,
|
|
||||||
StyleIndex = 1U
|
|
||||||
});
|
|
||||||
indexList++;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
indexList = 2;
|
|
||||||
rowIndex = 1;
|
|
||||||
/* InsertCellInWorksheet(new ExcelCellParameters
|
|
||||||
{
|
|
||||||
Worksheet = worksheetPart.Worksheet,
|
|
||||||
ShareStringPart = shareStringPart,
|
|
||||||
ColumnName = list[indexList],
|
|
||||||
RowIndex = rowIndex,
|
|
||||||
Text = "Cредний балл:",
|
|
||||||
StyleIndex = 0U
|
|
||||||
});
|
|
||||||
rowIndex++;
|
|
||||||
InsertCellInWorksheet(new ExcelCellParameters
|
|
||||||
{
|
|
||||||
Worksheet = worksheetPart.Worksheet,
|
|
||||||
ShareStringPart = shareStringPart,
|
|
||||||
ColumnName = list[indexList],
|
|
||||||
RowIndex = rowIndex,
|
|
||||||
Text = Convert.ToString((info.StudentScores[info.StudentScores.Count - 1].Average)),
|
|
||||||
StyleIndex = 0U
|
|
||||||
});*/
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Настройка стилей для файла
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="workbookpart"></param>
|
|
||||||
private static void CreateStyles(WorkbookPart workbookpart)
|
|
||||||
{
|
|
||||||
WorkbookStylesPart sp = workbookpart.AddNewPart<WorkbookStylesPart>();
|
|
||||||
sp.Stylesheet = new Stylesheet();
|
|
||||||
Fonts fonts = new Fonts() { Count = (UInt32Value)2U, KnownFonts = true };
|
|
||||||
Font fontUsual = new Font();
|
|
||||||
fontUsual.Append(new FontSize() { Val = 12D });
|
|
||||||
fontUsual.Append(new DocumentFormat.OpenXml.Office2010.Excel.Color()
|
|
||||||
{
|
|
||||||
Theme
|
|
||||||
= (UInt32Value)1U
|
|
||||||
});
|
|
||||||
fontUsual.Append(new FontName() { Val = "Times New Roman" });
|
|
||||||
fontUsual.Append(new FontFamilyNumbering() { Val = 2 });
|
|
||||||
fontUsual.Append(new FontScheme() { Val = FontSchemeValues.Minor });
|
|
||||||
Font fontTitle = new Font();
|
|
||||||
fontTitle.Append(new Bold());
|
|
||||||
fontTitle.Append(new FontSize() { Val = 14D });
|
|
||||||
fontTitle.Append(new DocumentFormat.OpenXml.Office2010.Excel.Color()
|
|
||||||
{
|
|
||||||
Theme
|
|
||||||
= (UInt32Value)1U
|
|
||||||
});
|
|
||||||
fontTitle.Append(new FontName() { Val = "Times New Roman" });
|
|
||||||
fontTitle.Append(new FontFamilyNumbering() { Val = 2 });
|
|
||||||
fontTitle.Append(new FontScheme() { Val = FontSchemeValues.Minor });
|
|
||||||
fonts.Append(fontUsual);
|
|
||||||
fonts.Append(fontTitle);
|
|
||||||
Fills fills = new Fills() { Count = (UInt32Value)2U };
|
|
||||||
Fill fill1 = new Fill();
|
|
||||||
fill1.Append(new PatternFill() { PatternType = PatternValues.None });
|
|
||||||
Fill fill2 = new Fill();
|
|
||||||
fill2.Append(new PatternFill() { PatternType = PatternValues.Gray125 });
|
|
||||||
fills.Append(fill1);
|
|
||||||
fills.Append(fill2);
|
|
||||||
Borders borders = new Borders() { Count = (UInt32Value)2U };
|
|
||||||
Border borderNoBorder = new Border();
|
|
||||||
borderNoBorder.Append(new LeftBorder());
|
|
||||||
borderNoBorder.Append(new RightBorder());
|
|
||||||
borderNoBorder.Append(new TopBorder());
|
|
||||||
borderNoBorder.Append(new BottomBorder());
|
|
||||||
borderNoBorder.Append(new DiagonalBorder());
|
|
||||||
Border borderThin = new Border();
|
|
||||||
LeftBorder leftBorder = new LeftBorder() { Style = BorderStyleValues.Thin };
|
|
||||||
leftBorder.Append(new DocumentFormat.OpenXml.Office2010.Excel.Color()
|
|
||||||
{
|
|
||||||
Indexed = (UInt32Value)64U
|
|
||||||
});
|
|
||||||
RightBorder rightBorder = new RightBorder()
|
|
||||||
{
|
|
||||||
Style = BorderStyleValues.Thin
|
|
||||||
};
|
|
||||||
rightBorder.Append(new DocumentFormat.OpenXml.Office2010.Excel.Color()
|
|
||||||
{
|
|
||||||
Indexed = (UInt32Value)64U
|
|
||||||
});
|
|
||||||
TopBorder topBorder = new TopBorder() { Style = BorderStyleValues.Thin };
|
|
||||||
topBorder.Append(new DocumentFormat.OpenXml.Office2010.Excel.Color()
|
|
||||||
{
|
|
||||||
Indexed = (UInt32Value)64U
|
|
||||||
});
|
|
||||||
BottomBorder bottomBorder = new BottomBorder()
|
|
||||||
{
|
|
||||||
Style =
|
|
||||||
BorderStyleValues.Thin
|
|
||||||
};
|
|
||||||
bottomBorder.Append(new DocumentFormat.OpenXml.Office2010.Excel.Color()
|
|
||||||
{
|
|
||||||
Indexed = (UInt32Value)64U
|
|
||||||
});
|
|
||||||
borderThin.Append(leftBorder);
|
|
||||||
borderThin.Append(rightBorder);
|
|
||||||
borderThin.Append(topBorder);
|
|
||||||
borderThin.Append(bottomBorder);
|
|
||||||
borderThin.Append(new DiagonalBorder());
|
|
||||||
borders.Append(borderNoBorder);
|
|
||||||
borders.Append(borderThin);
|
|
||||||
CellStyleFormats cellStyleFormats = new CellStyleFormats()
|
|
||||||
{
|
|
||||||
Count =
|
|
||||||
(UInt32Value)1U
|
|
||||||
};
|
|
||||||
CellFormat cellFormatStyle = new CellFormat()
|
|
||||||
{
|
|
||||||
NumberFormatId =
|
|
||||||
(UInt32Value)0U,
|
|
||||||
FontId = (UInt32Value)0U,
|
|
||||||
FillId = (UInt32Value)0U,
|
|
||||||
BorderId =
|
|
||||||
(UInt32Value)0U
|
|
||||||
};
|
|
||||||
cellStyleFormats.Append(cellFormatStyle);
|
|
||||||
CellFormats cellFormats = new CellFormats() { Count = (UInt32Value)3U };
|
|
||||||
CellFormat cellFormatFont = new CellFormat()
|
|
||||||
{
|
|
||||||
NumberFormatId =
|
|
||||||
(UInt32Value)0U,
|
|
||||||
FontId = (UInt32Value)0U,
|
|
||||||
FillId = (UInt32Value)0U,
|
|
||||||
BorderId =
|
|
||||||
(UInt32Value)0U,
|
|
||||||
FormatId = (UInt32Value)0U,
|
|
||||||
ApplyFont = true
|
|
||||||
};
|
|
||||||
CellFormat cellFormatFontAndBorder = new CellFormat()
|
|
||||||
{
|
|
||||||
NumberFormatId =
|
|
||||||
(UInt32Value)0U,
|
|
||||||
FontId = (UInt32Value)0U,
|
|
||||||
FillId = (UInt32Value)0U,
|
|
||||||
BorderId =
|
|
||||||
(UInt32Value)1U,
|
|
||||||
FormatId = (UInt32Value)0U,
|
|
||||||
ApplyFont = true,
|
|
||||||
ApplyBorder = true
|
|
||||||
};
|
|
||||||
CellFormat cellFormatTitle = new CellFormat()
|
|
||||||
{
|
|
||||||
NumberFormatId =
|
|
||||||
(UInt32Value)0U,
|
|
||||||
FontId = (UInt32Value)1U,
|
|
||||||
FillId = (UInt32Value)0U,
|
|
||||||
BorderId =
|
|
||||||
(UInt32Value)0U,
|
|
||||||
FormatId = (UInt32Value)0U,
|
|
||||||
Alignment = new Alignment()
|
|
||||||
{
|
|
||||||
Vertical =
|
|
||||||
VerticalAlignmentValues.Center,
|
|
||||||
WrapText = true,
|
|
||||||
Horizontal =
|
|
||||||
HorizontalAlignmentValues.Center
|
|
||||||
},
|
|
||||||
ApplyFont = true
|
|
||||||
};
|
|
||||||
cellFormats.Append(cellFormatFont);
|
|
||||||
cellFormats.Append(cellFormatFontAndBorder);
|
|
||||||
cellFormats.Append(cellFormatTitle);
|
|
||||||
CellStyles cellStyles = new CellStyles() { Count = (UInt32Value)1U };
|
|
||||||
cellStyles.Append(new CellStyle()
|
|
||||||
{
|
|
||||||
Name = "Normal",
|
|
||||||
FormatId =
|
|
||||||
(UInt32Value)0U,
|
|
||||||
BuiltinId = (UInt32Value)0U
|
|
||||||
});
|
|
||||||
DocumentFormat.OpenXml.Office2013.Excel.DifferentialFormats
|
|
||||||
differentialFormats = new DocumentFormat.OpenXml.Office2013.Excel.DifferentialFormats()
|
|
||||||
{
|
|
||||||
Count = (UInt32Value)0U
|
|
||||||
};
|
|
||||||
|
|
||||||
TableStyles tableStyles = new TableStyles()
|
|
||||||
{
|
|
||||||
Count = (UInt32Value)0U,
|
|
||||||
DefaultTableStyle = "TableStyleMedium2",
|
|
||||||
DefaultPivotStyle = "PivotStyleLight16"
|
|
||||||
};
|
|
||||||
StylesheetExtensionList stylesheetExtensionList = new
|
|
||||||
StylesheetExtensionList();
|
|
||||||
StylesheetExtension stylesheetExtension1 = new StylesheetExtension()
|
|
||||||
{
|
|
||||||
Uri =
|
|
||||||
"{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}"
|
|
||||||
};
|
|
||||||
stylesheetExtension1.AddNamespaceDeclaration("x14",
|
|
||||||
"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main");
|
|
||||||
stylesheetExtension1.Append(new SlicerStyles()
|
|
||||||
{
|
|
||||||
DefaultSlicerStyle =
|
|
||||||
"SlicerStyleLight1"
|
|
||||||
});
|
|
||||||
StylesheetExtension stylesheetExtension2 = new StylesheetExtension()
|
|
||||||
{
|
|
||||||
Uri =
|
|
||||||
"{9260A510-F301-46a8-8635-F512D64BE5F5}"
|
|
||||||
};
|
|
||||||
stylesheetExtension2.AddNamespaceDeclaration("x15",
|
|
||||||
"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main");
|
|
||||||
stylesheetExtension2.Append(new TimelineStyles()
|
|
||||||
{
|
|
||||||
DefaultTimelineStyle =
|
|
||||||
"TimeSlicerStyleLight1"
|
|
||||||
});
|
|
||||||
stylesheetExtensionList.Append(stylesheetExtension1);
|
|
||||||
stylesheetExtensionList.Append(stylesheetExtension2);
|
|
||||||
sp.Stylesheet.Append(fonts);
|
|
||||||
sp.Stylesheet.Append(fills);
|
|
||||||
sp.Stylesheet.Append(borders);
|
|
||||||
sp.Stylesheet.Append(cellStyleFormats);
|
|
||||||
sp.Stylesheet.Append(cellFormats);
|
|
||||||
sp.Stylesheet.Append(cellStyles);
|
|
||||||
sp.Stylesheet.Append(differentialFormats);
|
|
||||||
sp.Stylesheet.Append(tableStyles);
|
|
||||||
sp.Stylesheet.Append(stylesheetExtensionList);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static string GetExcelColumnName(int columnNumber)
|
|
||||||
{
|
|
||||||
string columnName = "";
|
|
||||||
|
|
||||||
while (columnNumber > 0)
|
|
||||||
{
|
|
||||||
int modulo = (columnNumber - 1) % 26;
|
|
||||||
columnName = Convert.ToChar('A' + modulo) + columnName;
|
|
||||||
columnNumber = (columnNumber - modulo) / 26;
|
|
||||||
}
|
|
||||||
|
|
||||||
return columnName;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Добааляем новую ячейку в лист
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="worksheet"></param>
|
|
||||||
/// <param name="columnName"></param>
|
|
||||||
/// <param name="rowIndex"></param>
|
|
||||||
/// <param name="index"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
private static void InsertCellInWorksheet(ExcelCellParameters cellParameters)
|
|
||||||
{
|
|
||||||
SheetData sheetData = cellParameters.Worksheet.GetFirstChild<SheetData>();
|
|
||||||
// Ищем строку, либо добавляем ее
|
|
||||||
Row row;
|
|
||||||
if (sheetData.Elements<Row>().Where(r => r.RowIndex ==
|
|
||||||
cellParameters.RowIndex).Count() != 0)
|
|
||||||
{
|
|
||||||
row = sheetData.Elements<Row>().Where(r => r.RowIndex ==
|
|
||||||
cellParameters.RowIndex).First();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
row = new Row() { RowIndex = cellParameters.RowIndex };
|
|
||||||
sheetData.Append(row);
|
|
||||||
}
|
|
||||||
// Ищем нужную ячейку
|
|
||||||
Cell cell;
|
|
||||||
if (row.Elements<Cell>().Where(c => c.CellReference.Value ==
|
|
||||||
cellParameters.CellReference).Count() > 0)
|
|
||||||
{
|
|
||||||
cell = row.Elements<Cell>().Where(c => c.CellReference.Value ==
|
|
||||||
cellParameters.CellReference).First();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Все ячейки должны быть последовательно друг за другом расположены
|
|
||||||
// нужно определить, после какой вставлять
|
|
||||||
Cell refCell = null;
|
|
||||||
foreach (Cell rowCell in row.Elements<Cell>())
|
|
||||||
{
|
|
||||||
if (string.Compare(rowCell.CellReference.Value,
|
|
||||||
cellParameters.CellReference, true) > 0)
|
|
||||||
{
|
|
||||||
refCell = rowCell;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Cell newCell = new Cell()
|
|
||||||
{
|
|
||||||
CellReference = cellParameters.CellReference
|
|
||||||
};
|
|
||||||
row.InsertBefore(newCell, refCell);
|
|
||||||
cell = newCell;
|
|
||||||
}
|
|
||||||
// вставляем новый текст
|
|
||||||
cellParameters.ShareStringPart.SharedStringTable.AppendChild(new
|
|
||||||
SharedStringItem(new Text(cellParameters.Text)));
|
|
||||||
cellParameters.ShareStringPart.SharedStringTable.Save();
|
|
||||||
cell.CellValue = new
|
|
||||||
CellValue((cellParameters.ShareStringPart.SharedStringTable.Elements<SharedStringItem>().
|
|
||||||
Count() - 1).ToString());
|
|
||||||
cell.DataType = new EnumValue<CellValues>(CellValues.SharedString);
|
|
||||||
cell.StyleIndex = cellParameters.StyleIndex;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Объединение ячеек
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="worksheet"></param>
|
|
||||||
/// <param name="cell1Name"></param>
|
|
||||||
/// <param name="cell2Name"></param>
|
|
||||||
private static void MergeCells(ExcelMergeParameters mergeParameters)
|
|
||||||
{
|
|
||||||
MergeCells mergeCells;
|
|
||||||
if (mergeParameters.Worksheet.Elements<MergeCells>().Count() > 0)
|
|
||||||
{
|
|
||||||
mergeCells = mergeParameters.Worksheet.Elements<MergeCells>().First();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mergeCells = new MergeCells();
|
|
||||||
if (mergeParameters.Worksheet.Elements<CustomSheetView>().Count() > 0)
|
|
||||||
{
|
|
||||||
mergeParameters.Worksheet.InsertAfter(mergeCells,
|
|
||||||
mergeParameters.Worksheet.Elements<CustomSheetView>().First());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mergeParameters.Worksheet.InsertAfter(mergeCells,
|
|
||||||
mergeParameters.Worksheet.Elements<SheetData>().First());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MergeCell mergeCell = new MergeCell()
|
|
||||||
{
|
|
||||||
Reference = new StringValue(mergeParameters.Merge)
|
|
||||||
};
|
|
||||||
mergeCells.Append(mergeCell);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,265 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.HelperModels;
|
|
||||||
using DocumentFormat.OpenXml;
|
|
||||||
using DocumentFormat.OpenXml.Packaging;
|
|
||||||
using DocumentFormat.OpenXml.Wordprocessing;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.BusinessLogic
|
|
||||||
{
|
|
||||||
public class SaveToWord
|
|
||||||
{
|
|
||||||
public static void CreateDoc(WordInfo info)
|
|
||||||
{
|
|
||||||
using (WordprocessingDocument wordDocument = WordprocessingDocument.Create(info.FileName + "//" + info.Title + ".docx", WordprocessingDocumentType.Document))
|
|
||||||
{
|
|
||||||
MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();
|
|
||||||
mainPart.Document = new Document();
|
|
||||||
Body docBody = mainPart.Document.AppendChild(new Body());
|
|
||||||
|
|
||||||
docBody.AppendChild(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { info.Title },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = true,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Center
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
if (info.StudentScores != null)
|
|
||||||
{
|
|
||||||
foreach (var rp in info.StudentScores)
|
|
||||||
{
|
|
||||||
|
|
||||||
docBody.AppendChild(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
|
|
||||||
Texts = new List<string> { "Приложение к диплому студента - " + rp.StudentLastName + rp.StudentFirstName },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
|
|
||||||
}));
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
Table table = new Table();
|
|
||||||
|
|
||||||
TableProperties props = new TableProperties(
|
|
||||||
new TableBorders(
|
|
||||||
new TopBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
|
|
||||||
new BottomBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
|
|
||||||
new LeftBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
|
|
||||||
new RightBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
|
|
||||||
new InsideHorizontalBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
|
|
||||||
new InsideVerticalBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 }
|
|
||||||
));
|
|
||||||
|
|
||||||
table.AppendChild(props);
|
|
||||||
|
|
||||||
var tr = new TableRow();
|
|
||||||
var tc_dis = new TableCell();
|
|
||||||
var tc_zet = new TableCell();
|
|
||||||
var tc_scor = new TableCell();
|
|
||||||
|
|
||||||
tc_dis.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { "Наименование дисциплин" },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
tc_zet.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { "Количество з.е." },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
tc_scor.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { "Итоговая оценка" },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
tr.AppendChild(tc_dis);
|
|
||||||
tr.AppendChild(tc_zet);
|
|
||||||
tr.AppendChild(tc_scor);
|
|
||||||
table.AppendChild(tr);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
foreach (var studScore in info.StudentScores)
|
|
||||||
{
|
|
||||||
tr = new TableRow();
|
|
||||||
tc_dis = new TableCell();
|
|
||||||
tc_zet = new TableCell();
|
|
||||||
tc_scor = new TableCell();
|
|
||||||
|
|
||||||
tc_dis.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { studScore.DisciplineName },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
tc_zet.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { Convert.ToString(studScore.Zet) + " з.е." },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
tc_scor.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { studScore.Scores },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
tr.AppendChild(tc_dis);
|
|
||||||
tr.AppendChild(tc_zet);
|
|
||||||
tr.AppendChild(tc_scor);
|
|
||||||
table.AppendChild(tr);
|
|
||||||
}
|
|
||||||
|
|
||||||
var tr2 = new TableRow();
|
|
||||||
var tc_sr = new TableCell();
|
|
||||||
var tc_ss = new TableCell();
|
|
||||||
tc_sr.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { "Всего" },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
|
|
||||||
tc_ss.Append(CreateParagraph(new WordParagraph
|
|
||||||
{
|
|
||||||
Texts = new List<string> { Convert.ToString(info.StudentScores[info.StudentScores.Count - 1].Average) + " з.е." },
|
|
||||||
TextProperties = new WordParagraphProperties
|
|
||||||
{
|
|
||||||
Bold = false,
|
|
||||||
Size = "24",
|
|
||||||
JustificationValues = JustificationValues.Both
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
tr2.AppendChild(tc_sr);
|
|
||||||
tr2.AppendChild(tc_ss);
|
|
||||||
table.AppendChild(tr2);
|
|
||||||
|
|
||||||
docBody.AppendChild(table);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
docBody.AppendChild(CreateSectionProperties());
|
|
||||||
wordDocument.MainDocumentPart.Document.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static SectionProperties CreateSectionProperties()
|
|
||||||
{
|
|
||||||
SectionProperties properties = new SectionProperties();
|
|
||||||
PageSize pageSize = new PageSize { Orient = PageOrientationValues.Portrait };
|
|
||||||
|
|
||||||
properties.AppendChild(pageSize);
|
|
||||||
|
|
||||||
return properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Paragraph CreateParagraph(WordParagraph paragraph)
|
|
||||||
{
|
|
||||||
if (paragraph != null)
|
|
||||||
{
|
|
||||||
Paragraph docParagraph = new Paragraph();
|
|
||||||
|
|
||||||
docParagraph.AppendChild(CreateParagraphProperties(paragraph.TextProperties));
|
|
||||||
|
|
||||||
foreach (var run in paragraph.Texts)
|
|
||||||
{
|
|
||||||
Run docRun = new Run();
|
|
||||||
RunProperties properties = new RunProperties();
|
|
||||||
properties.AppendChild(new FontSize { Val = paragraph.TextProperties.Size });
|
|
||||||
|
|
||||||
if (!run.StartsWith(" - ") && paragraph.TextProperties.Bold)
|
|
||||||
{
|
|
||||||
properties.AppendChild(new Bold());
|
|
||||||
}
|
|
||||||
|
|
||||||
docRun.AppendChild(properties);
|
|
||||||
docRun.AppendChild(new Text { Text = run, Space = SpaceProcessingModeValues.Preserve });
|
|
||||||
docParagraph.AppendChild(docRun);
|
|
||||||
}
|
|
||||||
|
|
||||||
return docParagraph;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static ParagraphProperties CreateParagraphProperties(WordParagraphProperties paragraphProperties)
|
|
||||||
{
|
|
||||||
if (paragraphProperties != null)
|
|
||||||
{
|
|
||||||
ParagraphProperties properties = new ParagraphProperties();
|
|
||||||
|
|
||||||
properties.AppendChild(new Justification() { Val = paragraphProperties.JustificationValues });
|
|
||||||
properties.AppendChild(new SpacingBetweenLines { LineRule = LineSpacingRuleValues.Auto });
|
|
||||||
properties.AppendChild(new Indentation());
|
|
||||||
|
|
||||||
ParagraphMarkRunProperties paragraphMarkRunProperties = new ParagraphMarkRunProperties();
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(paragraphProperties.Size))
|
|
||||||
{
|
|
||||||
paragraphMarkRunProperties.AppendChild(new FontSize { Val = paragraphProperties.Size });
|
|
||||||
}
|
|
||||||
|
|
||||||
if (paragraphProperties.Bold)
|
|
||||||
{
|
|
||||||
paragraphMarkRunProperties.AppendChild(new Bold());
|
|
||||||
}
|
|
||||||
|
|
||||||
properties.AppendChild(paragraphMarkRunProperties);
|
|
||||||
|
|
||||||
return properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.Interfaces;
|
|
||||||
using AcademicProgressBusinessLogic.ViewModels;
|
|
||||||
using ModuleTools.BusinessLogics;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.BusinessLogics
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Логика работы с записями учебного прогресса
|
|
||||||
/// </summary>
|
|
||||||
public class StudentAcademicProgressBusinessLogic : GenericBusinessLogic<StudentAcademicProgressGetBindingModel, StudentAcademicProgressSetBindingModel, StudentAcademicProgressListViewModel, StudentAcademicProgressViewModels>
|
|
||||||
{
|
|
||||||
public StudentAcademicProgressBusinessLogic(IStudentAcademicProgressService service) : base(service, "Записи учебного прогресса", AccessOperation.Записи_Учебного_Прогресса) { }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
namespace AcademicProgressBusinessLogic.Enums
|
|
||||||
{
|
|
||||||
public enum ExamScores
|
|
||||||
{
|
|
||||||
Зачет = 1,
|
|
||||||
|
|
||||||
Удовлетворительно = 2,
|
|
||||||
|
|
||||||
Хорошо = 3,
|
|
||||||
|
|
||||||
Отлично = 4
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
using DocumentFormat.OpenXml;
|
|
||||||
using DocumentFormat.OpenXml.Packaging;
|
|
||||||
using DocumentFormat.OpenXml.Spreadsheet;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.HelperModels
|
|
||||||
{
|
|
||||||
public class ExcelCellParameters
|
|
||||||
{
|
|
||||||
public Worksheet Worksheet { get; set; }
|
|
||||||
public string ColumnName { get; set; }
|
|
||||||
public uint RowIndex { get; set; }
|
|
||||||
public UInt32Value StyleIndex { get; set; }
|
|
||||||
public string Text { get; set; }
|
|
||||||
public SharedStringTablePart ShareStringPart { get; set; }
|
|
||||||
public string CellReference => $"{ColumnName}{RowIndex}";
|
|
||||||
public ExcelStyleInfoType StyleInfo { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.ViewModels;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.HelperModels
|
|
||||||
{
|
|
||||||
public class ExcelInfo
|
|
||||||
{
|
|
||||||
public string FileName { get; set; }
|
|
||||||
|
|
||||||
public string Title { get; set; }
|
|
||||||
public List<StudentScoresViewModel> StudentScores { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
using DocumentFormat.OpenXml.Spreadsheet;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.HelperModels
|
|
||||||
{
|
|
||||||
public class ExcelMergeParameters
|
|
||||||
{
|
|
||||||
public Worksheet Worksheet { get; set; }
|
|
||||||
public string CellFromName { get; set; }
|
|
||||||
public string CellToName { get; set; }
|
|
||||||
public string Merge => $"{CellFromName}:{CellToName}";
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.HelperModels
|
|
||||||
{
|
|
||||||
public enum ExcelStyleInfoType
|
|
||||||
{
|
|
||||||
Title,
|
|
||||||
Text,
|
|
||||||
TextWithBroder
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.ViewModels;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.HelperModels
|
|
||||||
{
|
|
||||||
public class WordInfo
|
|
||||||
{
|
|
||||||
public string FileName { get; set; }
|
|
||||||
public string Title { get; set; }
|
|
||||||
public List<StudentScoresViewModel> StudentScores { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.HelperModels
|
|
||||||
{
|
|
||||||
class WordParagraph
|
|
||||||
{
|
|
||||||
public List<string> Texts { get; set; }
|
|
||||||
public WordParagraphProperties TextProperties { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
using DocumentFormat.OpenXml.Wordprocessing;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.HelperModels
|
|
||||||
{
|
|
||||||
class WordParagraphProperties
|
|
||||||
{
|
|
||||||
public string Size { get; set; }
|
|
||||||
|
|
||||||
public bool Bold { get; set; }
|
|
||||||
|
|
||||||
public JustificationValues JustificationValues { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using ModuleTools.Models;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.Interfaces
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Сервис работы по выгрузке отчета
|
|
||||||
/// </summary>
|
|
||||||
public interface IReportService
|
|
||||||
{
|
|
||||||
OperationResultModel SaveReportToWordFile(ReportBindingModel model);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using ModuleTools.Interfaces;
|
|
||||||
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.Interfaces
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Хранение учебного прогресса
|
|
||||||
/// </summary>
|
|
||||||
public interface IStudentAcademicProgressService : IGenerticEntityService<StudentAcademicProgressGetBindingModel, StudentAcademicProgressSetBindingModel> { }
|
|
||||||
}
|
|
@ -1,84 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.Enums;
|
|
||||||
using DepartmentBusinessLogic.Enums;
|
|
||||||
using ModuleTools.Attributes;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using ModuleTools.ViewModels;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.ViewModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Список успеваемости студентов
|
|
||||||
/// </summary>
|
|
||||||
public class StudentAcademicProgressListViewModel : ListViewModel<StudentAcademicProgressViewModels> { }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Элемент успеваемости студента
|
|
||||||
/// </summary>
|
|
||||||
[ViewModelControlElementClass(HaveDependenceEntities = true, Width = 1200, Height = 800)]
|
|
||||||
[ViewModelControlElementDependenceEntity(Title = "Студенты", Order = 1, ParentPropertyName = "StudentAcademicProgressId",
|
|
||||||
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlStudentList, DepartmentWindowsDesktop")]
|
|
||||||
[ViewModelControlElementDependenceEntity(Title = "Дисципилны", Order = 2, ParentPropertyName = "StudentAcademicProgressId",
|
|
||||||
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineList, DepartmentWindowsDesktop")]
|
|
||||||
public class StudentAcademicProgressViewModels : ElementViewModel
|
|
||||||
{
|
|
||||||
[ViewModelControlElementProperty("Студент", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlStudentList, DepartmentWindowsDesktop")]
|
|
||||||
[MapConfiguration("StudentId")]
|
|
||||||
public Guid StudentId { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Фамилия", ColumnWidth = 250)]
|
|
||||||
[MapConfiguration("Student.LastName", IsDifficle = true)]
|
|
||||||
public string LastName { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Имя", ColumnWidth = 200)]
|
|
||||||
[MapConfiguration("Student.FirstName", IsDifficle = true)]
|
|
||||||
public string FirstName { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlElementProperty("Дисциплина", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlDisciplineList, DepartmentWindowsDesktop")]
|
|
||||||
[MapConfiguration("DisciplineId")]
|
|
||||||
public Guid DisciplineId { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Дисциплина")]
|
|
||||||
[MapConfiguration("Discipline.ToString", IsDifficle = true)]
|
|
||||||
public string DisciplineName { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[ViewModelControlElementProperty("Семестр", ControlType.ControlEnum, MustHaveValue = true)]
|
|
||||||
[MapConfiguration("Semester")]
|
|
||||||
public Semester Semester { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Семестр", ColumnWidth = 100)]
|
|
||||||
public string SemesterTitle => Semester.ToString("G");
|
|
||||||
|
|
||||||
|
|
||||||
[ViewModelControlElementProperty("Оценка", ControlType.ControlEnum, MustHaveValue = true)]
|
|
||||||
[MapConfiguration("Score")]
|
|
||||||
public ExamScores Score { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Оценка", ColumnWidth = 160)]
|
|
||||||
public string ExamScoresTitle => Score.ToString("G");
|
|
||||||
|
|
||||||
[ViewModelControlElementProperty("Является сдачей по направлению", ControlType.ControlBool, MustHaveValue = true)]
|
|
||||||
[MapConfiguration("IsResit")]
|
|
||||||
public bool IsResit { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Cдача по направлению", ColumnWidth = 120)]
|
|
||||||
public string IsResitT => IsResit ? "Да" : "Нет";
|
|
||||||
|
|
||||||
[ViewModelControlElementProperty("Является повышением оценки", ControlType.ControlBool, MustHaveValue = true)]
|
|
||||||
[MapConfiguration("IsIncreaseScore")]
|
|
||||||
public bool IsIncreaseScore { get; set; }
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Повышение оценки", ColumnWidth = 120)]
|
|
||||||
public string IsIncreaseScoreS => IsIncreaseScore ? "Да" : "Нет";
|
|
||||||
|
|
||||||
[ViewModelControlListProperty("Дата проставления", ColumnWidth = 120, DefaultCellStyleFormat = "dd.MM.yyyy")]
|
|
||||||
[ViewModelControlElementProperty("Дата проставления", ControlType.ControlDateTime, MustHaveValue = true)]
|
|
||||||
[MapConfiguration("AffixingDate")]
|
|
||||||
public DateTime AffixingDate { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressBusinessLogic.ViewModels
|
|
||||||
{
|
|
||||||
public class StudentScoresViewModel
|
|
||||||
{
|
|
||||||
public string StudentLastName { get; set; }
|
|
||||||
public string StudentFirstName { get; set; }
|
|
||||||
public string DisciplineName { get; set; }
|
|
||||||
public string Scores { get; set; }
|
|
||||||
public int Zet { get; set; }
|
|
||||||
public double Average { get; set; }
|
|
||||||
public int Semester { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="Models\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\AcademicProgressBusinessLogic\AcademicProgressBusinessLogic.csproj" />
|
|
||||||
<ProjectReference Include="..\Common\DatabaseCore\DatabaseCore.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
|
||||||
<Exec Command="copy /Y "$(TargetDir)*.dll" "$(SolutionDir)ImplementationExtensions\*.dll"" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
|
@ -1,21 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BusinessLogic;
|
|
||||||
using AcademicProgressBusinessLogic.BusinessLogics;
|
|
||||||
using AcademicProgressBusinessLogic.Interfaces;
|
|
||||||
using AcademicProgressDatabaseImplementation.Implementations;
|
|
||||||
using ModuleTools.BusinessLogics;
|
|
||||||
using ModuleTools.Interfaces;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace AcademicProgressDatabaseImplementation
|
|
||||||
{
|
|
||||||
public class AcademicProgressImplementationExtensions : IImplementationExtension
|
|
||||||
{
|
|
||||||
public void RegisterServices()
|
|
||||||
{
|
|
||||||
DependencyManager.Instance.RegisterType<IStudentAcademicProgressService, StudentAcademicProgressService>();
|
|
||||||
DependencyManager.Instance.RegisterType<ReportLogic>();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.Interfaces;
|
|
||||||
using ModuleTools.Models;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressDatabaseImplementation.Implementations
|
|
||||||
{
|
|
||||||
public class ReportService : IReportService
|
|
||||||
{
|
|
||||||
public OperationResultModel SaveReportToWordFile(ReportBindingModel model)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,52 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.Interfaces;
|
|
||||||
using AcademicProgressBusinessLogic.ViewModels;
|
|
||||||
using DatabaseCore;
|
|
||||||
using DatabaseCore.Models.AcademicProgress;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using ModuleTools.Models;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace AcademicProgressDatabaseImplementation.Implementations
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Реализация IStudentAcademicProgress
|
|
||||||
/// </summary>
|
|
||||||
public class StudentAcademicProgressService :
|
|
||||||
AbstractGenerticEntityService<StudentAcademicProgressGetBindingModel, StudentAcademicProgressSetBindingModel, StudentAcademicProgress, StudentAcademicProgressListViewModel, StudentAcademicProgressViewModels>,
|
|
||||||
IStudentAcademicProgressService
|
|
||||||
{
|
|
||||||
protected override OperationResultModel AdditionalCheckingWhenAdding(DbContext context, StudentAcademicProgressSetBindingModel model) => OperationResultModel.Success(null);
|
|
||||||
|
|
||||||
protected override OperationResultModel AdditionalCheckingWhenDeleting(DbContext context, StudentAcademicProgress entity, StudentAcademicProgressGetBindingModel model) => OperationResultModel.Success(null);
|
|
||||||
|
|
||||||
protected override IQueryable<StudentAcademicProgress> AdditionalCheckingWhenReadingList(IQueryable<StudentAcademicProgress> query, StudentAcademicProgressGetBindingModel model)
|
|
||||||
{
|
|
||||||
if (model.StudentId.HasValue)
|
|
||||||
{
|
|
||||||
query = query.Where(x => x.StudentId == model.StudentId.Value);
|
|
||||||
}
|
|
||||||
if (model.DisciplineId.HasValue)
|
|
||||||
{
|
|
||||||
query = query.Where(x => x.DisciplineId == model.DisciplineId.Value);
|
|
||||||
}
|
|
||||||
return query;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override OperationResultModel AdditionalCheckingWhenUpdateing(DbContext context, StudentAcademicProgressSetBindingModel model) => OperationResultModel.Success(null);
|
|
||||||
|
|
||||||
protected override void AdditionalDeleting(DbContext context, StudentAcademicProgress entity, StudentAcademicProgressGetBindingModel model) { }
|
|
||||||
|
|
||||||
protected override StudentAcademicProgress GetUniqueEntity(StudentAcademicProgressSetBindingModel model, DbContext context) => context.Set<StudentAcademicProgress>().FirstOrDefault(x => x.StudentId == model.StudentId && x.DisciplineId == model.DisciplineId && x.Semester == (int)model.Semester && x.Id != model.Id);
|
|
||||||
|
|
||||||
protected override IQueryable<StudentAcademicProgress> IncludingWhenReading(IQueryable<StudentAcademicProgress> query) => query.Include(x => x.Student).Include(x => x.Discipline);
|
|
||||||
|
|
||||||
protected override IQueryable<StudentAcademicProgress> OrderingWhenReading(IQueryable<StudentAcademicProgress> query) => query.OrderBy(x => x.Student.LastName).ThenBy(x => x.Student.FirstName);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,97 +0,0 @@
|
|||||||
using AcademicProgressWindowsDesktop.EntityControls.StudentAcademicProgress;
|
|
||||||
using AcademicProgressWindowsDesktop.SpecialControls;
|
|
||||||
using DesktopTools.Interfaces;
|
|
||||||
using DesktopTools.Models;
|
|
||||||
using ModuleTools.BindingModels;
|
|
||||||
using ModuleTools.BusinessLogics;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using ModuleTools.Interfaces;
|
|
||||||
using ModuleTools.Models;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop
|
|
||||||
{
|
|
||||||
public class AcademicProgressWindowDesktopExtension : IWindowDesktopExtension
|
|
||||||
{
|
|
||||||
public List<WindowDesktopExtensionControlModel> GetListControlEntityList()
|
|
||||||
{
|
|
||||||
var manager = DependencyManager.Instance.Resolve<ISecurityManager>();
|
|
||||||
if (manager == null)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (!manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserIdForAccess = manager.User },
|
|
||||||
AccessOperation.Учет_успеваемости, AccessType.View, "Учет успеваемости")))
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
var list = new List<WindowDesktopExtensionControlModel>
|
|
||||||
{
|
|
||||||
new WindowDesktopExtensionControlModel { Title = "Учет успеваемости" }
|
|
||||||
};
|
|
||||||
List<IControl> _controls = new()
|
|
||||||
{
|
|
||||||
new ControlStudentAcademicProgressList()
|
|
||||||
};
|
|
||||||
|
|
||||||
foreach (var cntrl in _controls)
|
|
||||||
{
|
|
||||||
if (manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserIdForAccess = manager.User },
|
|
||||||
cntrl.AccessOperation, AccessType.View, cntrl.Title)))
|
|
||||||
{
|
|
||||||
list.Add(new WindowDesktopExtensionControlModel
|
|
||||||
{
|
|
||||||
Id = cntrl.ControlId,
|
|
||||||
Title = cntrl.Title,
|
|
||||||
Control = cntrl
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<WindowDesktopExtensionControlModel> GetListControlSpecialList()
|
|
||||||
{
|
|
||||||
var manager = DependencyManager.Instance.Resolve<ISecurityManager>();
|
|
||||||
if (manager == null)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserIdForAccess = manager.User },
|
|
||||||
AccessOperation.Учет_успеваемости, AccessType.View, "Учет успеваемости")))
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
var list = new List<WindowDesktopExtensionControlModel>
|
|
||||||
{
|
|
||||||
new WindowDesktopExtensionControlModel { Title = "Учет успеваемости" }
|
|
||||||
};
|
|
||||||
List<IControl> _controls = new()
|
|
||||||
{
|
|
||||||
new ControlStudentGraduate(),
|
|
||||||
new ControlReportPlanDisciplines(),
|
|
||||||
new ControlReportAcademicProgress()
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
foreach (var cntrl in _controls)
|
|
||||||
{
|
|
||||||
if (manager.CheckAccess(new SecurityManagerCheckAccessModel(new AccessBindingModel { UserIdForAccess = manager.User },
|
|
||||||
cntrl.AccessOperation, AccessType.View, cntrl.Title)))
|
|
||||||
{
|
|
||||||
list.Add(new WindowDesktopExtensionControlModel
|
|
||||||
{
|
|
||||||
Id = cntrl.ControlId,
|
|
||||||
Title = cntrl.Title,
|
|
||||||
Control = cntrl
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net5.0-windows7.0</TargetFramework>
|
|
||||||
<UseWindowsForms>true</UseWindowsForms>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="DocumentFormat.OpenXml" Version="2.16.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\AcademicProgressBusinessLogic\AcademicProgressBusinessLogic.csproj" />
|
|
||||||
<ProjectReference Include="..\Common\DesktopTools\DesktopTools.csproj" />
|
|
||||||
<ProjectReference Include="..\Department\DepartmentWindowsDesktop\DepartmentWindowsDesktop.csproj" />
|
|
||||||
<ProjectReference Include="..\Security\SecurityBusinessLogic\SecurityBusinessLogic.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Update="Properties\Resources.Designer.cs">
|
|
||||||
<DependentUpon>Resources.resx</DependentUpon>
|
|
||||||
<DesignTime>True</DesignTime>
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
</Compile>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<EmbeddedResource Update="Properties\Resources.resx">
|
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
|
||||||
</EmbeddedResource>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
|
||||||
<Exec Command="copy /Y "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)WindowDestopExtensions\$(ProjectName).dll"" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
|
@ -1,33 +0,0 @@
|
|||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.EntityControls.StudentAcademicProgress
|
|
||||||
{
|
|
||||||
partial class ControlStudentAcademicProgressElement
|
|
||||||
{
|
|
||||||
/// <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
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.BusinessLogics;
|
|
||||||
using AcademicProgressBusinessLogic.ViewModels;
|
|
||||||
using DesktopTools.Controls;
|
|
||||||
using DesktopTools.Helpers;
|
|
||||||
using DesktopTools.Interfaces;
|
|
||||||
using DesktopTools.Models;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.EntityControls.StudentAcademicProgress
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Реализация контрола для успеваемости студентов
|
|
||||||
/// </summary>
|
|
||||||
public partial class ControlStudentAcademicProgressElement : GenericControlEntityElement<StudentAcademicProgressGetBindingModel, StudentAcademicProgressSetBindingModel, StudentAcademicProgressListViewModel, StudentAcademicProgressViewModels, StudentAcademicProgressBusinessLogic>,
|
|
||||||
IGenericControlEntityElement
|
|
||||||
{
|
|
||||||
public ControlStudentAcademicProgressElement()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
Title = "Учет успеваемости студента";
|
|
||||||
ControlId = new Guid("bdba2fca-4c38-33cf-89b0-4906c4aa7aa3");
|
|
||||||
_genericControlViewEntityElement = this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IControl GetInstanceGenericControl() => new ControlStudentAcademicProgressElement() { ControlId = Guid.NewGuid() };
|
|
||||||
|
|
||||||
public ControlViewEntityElementConfiguration GetConfigControl() => new();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,120 +0,0 @@
|
|||||||
<?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>
|
|
@ -1,33 +0,0 @@
|
|||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.EntityControls.StudentAcademicProgress
|
|
||||||
{
|
|
||||||
partial class ControlStudentAcademicProgressList
|
|
||||||
{
|
|
||||||
/// <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
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.BusinessLogics;
|
|
||||||
using AcademicProgressBusinessLogic.ViewModels;
|
|
||||||
using DesktopTools.Controls;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using DesktopTools.Interfaces;
|
|
||||||
using DesktopTools.Models;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using DesktopTools.Enums;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.EntityControls.StudentAcademicProgress
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Реализация контрола для списка успеваемости студентов
|
|
||||||
/// </summary>
|
|
||||||
public partial class ControlStudentAcademicProgressList : GenericControlEntityList<StudentAcademicProgressGetBindingModel, StudentAcademicProgressSetBindingModel, StudentAcademicProgressListViewModel, StudentAcademicProgressViewModels, StudentAcademicProgressBusinessLogic>,
|
|
||||||
IGenericControlEntityList
|
|
||||||
{
|
|
||||||
public ControlStudentAcademicProgressList()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
Title = "Учет успеваемости студентов";
|
|
||||||
ControlId = new Guid("9879dbb5-3b29-4971-9574-b4c13d5470c6");
|
|
||||||
AccessOperation = AccessOperation.Учет_успеваемости;
|
|
||||||
ControlViewEntityElement = new ControlStudentAcademicProgressElement();
|
|
||||||
_genericControlViewEntityList = this;
|
|
||||||
|
|
||||||
}
|
|
||||||
public IControl GetInstanceGenericControl() => new ControlStudentAcademicProgressList() { ControlId = Guid.NewGuid() };
|
|
||||||
|
|
||||||
public ControlViewEntityListConfiguration GetConfigControl() => new()
|
|
||||||
{
|
|
||||||
PaginationOn = false,
|
|
||||||
HideToolStripButton = new List<ToolStripButtonListNames>
|
|
||||||
{
|
|
||||||
ToolStripButtonListNames.toolStripButtonSearch
|
|
||||||
},
|
|
||||||
ControlOnMoveElem = new Dictionary<string, (string Title, EventHandler Event)>
|
|
||||||
{
|
|
||||||
{ "ToolStripMenuItemLoadScore", ("Выгрузить оценки из 1С:Университет", (object sender, EventArgs e) => { LoadScore(); }) }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
private void LoadScore()
|
|
||||||
{
|
|
||||||
MessageBox.Show("Оценки успешно выгружены!", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
<root>
|
|
||||||
<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>
|
|
@ -1,73 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// Этот код создан программой.
|
|
||||||
// Исполняемая версия:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
|
||||||
// повторной генерации кода.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.Properties {
|
|
||||||
using System;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
|
|
||||||
/// </summary>
|
|
||||||
// Этот класс создан автоматически классом StronglyTypedResourceBuilder
|
|
||||||
// с помощью такого средства, как ResGen или Visual Studio.
|
|
||||||
// Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
|
|
||||||
// с параметром /str или перестройте свой проект VS.
|
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
|
||||||
internal class Resources {
|
|
||||||
|
|
||||||
private static global::System.Resources.ResourceManager resourceMan;
|
|
||||||
|
|
||||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
|
||||||
|
|
||||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
||||||
internal Resources() {
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
|
|
||||||
/// </summary>
|
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
||||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
|
||||||
get {
|
|
||||||
if (object.ReferenceEquals(resourceMan, null)) {
|
|
||||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AcademicProgressWindowsDesktop.Properties.Resources", typeof(Resources).Assembly);
|
|
||||||
resourceMan = temp;
|
|
||||||
}
|
|
||||||
return resourceMan;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Перезаписывает свойство CurrentUICulture текущего потока для всех
|
|
||||||
/// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
|
|
||||||
/// </summary>
|
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
||||||
internal static global::System.Globalization.CultureInfo Culture {
|
|
||||||
get {
|
|
||||||
return resourceCulture;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
resourceCulture = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
|
|
||||||
/// </summary>
|
|
||||||
internal static System.Drawing.Bitmap Close {
|
|
||||||
get {
|
|
||||||
object obj = ResourceManager.GetObject("Close", resourceCulture);
|
|
||||||
return ((System.Drawing.Bitmap)(obj));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,124 +0,0 @@
|
|||||||
<?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>
|
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<data name="Close" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\Close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
Binary file not shown.
Before Width: | Height: | Size: 412 B |
@ -1,154 +0,0 @@
|
|||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.SpecialControls
|
|
||||||
{
|
|
||||||
partial class ControlReportAcademicProgress
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Обязательная переменная конструктора.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.IContainer components = null;
|
|
||||||
|
|
||||||
/// <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()
|
|
||||||
{
|
|
||||||
this.toolStripHeader = new System.Windows.Forms.ToolStrip();
|
|
||||||
this.toolStripButtonClose = new System.Windows.Forms.ToolStripButton();
|
|
||||||
this.groupBoxReportInfo = new System.Windows.Forms.GroupBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.buttonSave = new System.Windows.Forms.Button();
|
|
||||||
this.textBoxSaveFolderName = new System.Windows.Forms.TextBox();
|
|
||||||
this.labelSaveFolderName = new System.Windows.Forms.Label();
|
|
||||||
this.buttonSaveSelectFolder = new System.Windows.Forms.Button();
|
|
||||||
this.toolStripHeader.SuspendLayout();
|
|
||||||
this.groupBoxReportInfo.SuspendLayout();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// toolStripHeader
|
|
||||||
//
|
|
||||||
this.toolStripHeader.ImageScalingSize = new System.Drawing.Size(20, 20);
|
|
||||||
this.toolStripHeader.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
||||||
this.toolStripButtonClose});
|
|
||||||
this.toolStripHeader.Location = new System.Drawing.Point(0, 0);
|
|
||||||
this.toolStripHeader.Name = "toolStripHeader";
|
|
||||||
this.toolStripHeader.Size = new System.Drawing.Size(477, 27);
|
|
||||||
this.toolStripHeader.TabIndex = 3;
|
|
||||||
this.toolStripHeader.Text = "toolStrip1";
|
|
||||||
//
|
|
||||||
// toolStripButtonClose
|
|
||||||
//
|
|
||||||
this.toolStripButtonClose.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
|
||||||
this.toolStripButtonClose.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
|
||||||
this.toolStripButtonClose.Image = global::AcademicProgressWindowsDesktop.Properties.Resources.Close;
|
|
||||||
this.toolStripButtonClose.ImageTransparentColor = System.Drawing.Color.Magenta;
|
|
||||||
this.toolStripButtonClose.Name = "toolStripButtonClose";
|
|
||||||
this.toolStripButtonClose.Size = new System.Drawing.Size(29, 24);
|
|
||||||
this.toolStripButtonClose.Text = "Закрыть";
|
|
||||||
//
|
|
||||||
// groupBoxReportInfo
|
|
||||||
//
|
|
||||||
this.groupBoxReportInfo.Controls.Add(this.label3);
|
|
||||||
this.groupBoxReportInfo.Location = new System.Drawing.Point(3, 112);
|
|
||||||
this.groupBoxReportInfo.Name = "groupBoxReportInfo";
|
|
||||||
this.groupBoxReportInfo.Size = new System.Drawing.Size(460, 127);
|
|
||||||
this.groupBoxReportInfo.TabIndex = 18;
|
|
||||||
this.groupBoxReportInfo.TabStop = false;
|
|
||||||
this.groupBoxReportInfo.Text = "Информация для отчета";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
this.label3.AutoSize = true;
|
|
||||||
this.label3.Location = new System.Drawing.Point(1519, 588);
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
this.label3.Size = new System.Drawing.Size(88, 20);
|
|
||||||
this.label3.TabIndex = 7;
|
|
||||||
this.label3.Text = "Семестр до";
|
|
||||||
//
|
|
||||||
// buttonSave
|
|
||||||
//
|
|
||||||
this.buttonSave.Location = new System.Drawing.Point(330, 245);
|
|
||||||
this.buttonSave.Name = "buttonSave";
|
|
||||||
this.buttonSave.Size = new System.Drawing.Size(133, 28);
|
|
||||||
this.buttonSave.TabIndex = 17;
|
|
||||||
this.buttonSave.Text = "Сохранить";
|
|
||||||
this.buttonSave.UseVisualStyleBackColor = true;
|
|
||||||
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click_1);
|
|
||||||
//
|
|
||||||
// textBoxSaveFolderName
|
|
||||||
//
|
|
||||||
this.textBoxSaveFolderName.Location = new System.Drawing.Point(119, 37);
|
|
||||||
this.textBoxSaveFolderName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
|
||||||
this.textBoxSaveFolderName.Name = "textBoxSaveFolderName";
|
|
||||||
this.textBoxSaveFolderName.Size = new System.Drawing.Size(344, 27);
|
|
||||||
this.textBoxSaveFolderName.TabIndex = 15;
|
|
||||||
//
|
|
||||||
// labelSaveFolderName
|
|
||||||
//
|
|
||||||
this.labelSaveFolderName.AutoSize = true;
|
|
||||||
this.labelSaveFolderName.Location = new System.Drawing.Point(11, 40);
|
|
||||||
this.labelSaveFolderName.Name = "labelSaveFolderName";
|
|
||||||
this.labelSaveFolderName.Size = new System.Drawing.Size(111, 20);
|
|
||||||
this.labelSaveFolderName.TabIndex = 14;
|
|
||||||
this.labelSaveFolderName.Text = "Путь до папки:";
|
|
||||||
//
|
|
||||||
// buttonSaveSelectFolder
|
|
||||||
//
|
|
||||||
this.buttonSaveSelectFolder.Location = new System.Drawing.Point(330, 72);
|
|
||||||
this.buttonSaveSelectFolder.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
|
||||||
this.buttonSaveSelectFolder.Name = "buttonSaveSelectFolder";
|
|
||||||
this.buttonSaveSelectFolder.Size = new System.Drawing.Size(133, 31);
|
|
||||||
this.buttonSaveSelectFolder.TabIndex = 16;
|
|
||||||
this.buttonSaveSelectFolder.Text = "Выбрать папку";
|
|
||||||
this.buttonSaveSelectFolder.UseVisualStyleBackColor = true;
|
|
||||||
this.buttonSaveSelectFolder.Click += new System.EventHandler(this.buttonSaveSelectFolder_Click_1);
|
|
||||||
//
|
|
||||||
// ControlReportAcademicProgress
|
|
||||||
//
|
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.Controls.Add(this.groupBoxReportInfo);
|
|
||||||
this.Controls.Add(this.buttonSaveSelectFolder);
|
|
||||||
this.Controls.Add(this.buttonSave);
|
|
||||||
this.Controls.Add(this.textBoxSaveFolderName);
|
|
||||||
this.Controls.Add(this.labelSaveFolderName);
|
|
||||||
this.Controls.Add(this.toolStripHeader);
|
|
||||||
this.Name = "ControlReportAcademicProgress";
|
|
||||||
this.Size = new System.Drawing.Size(477, 300);
|
|
||||||
this.toolStripHeader.ResumeLayout(false);
|
|
||||||
this.toolStripHeader.PerformLayout();
|
|
||||||
this.groupBoxReportInfo.ResumeLayout(false);
|
|
||||||
this.groupBoxReportInfo.PerformLayout();
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
this.PerformLayout();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.ToolStrip toolStripHeader;
|
|
||||||
private System.Windows.Forms.ToolStripButton toolStripButtonClose;
|
|
||||||
private System.Windows.Forms.GroupBox groupBoxReportInfo;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.Button buttonSave;
|
|
||||||
private System.Windows.Forms.TextBox textBoxSaveFolderName;
|
|
||||||
private System.Windows.Forms.Label labelSaveFolderName;
|
|
||||||
private System.Windows.Forms.Button buttonSaveSelectFolder;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,169 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.BusinessLogics;
|
|
||||||
using DepartmentWindowsDesktop.EntityControls;
|
|
||||||
using DesktopTools.BaseControls;
|
|
||||||
using DesktopTools.Helpers;
|
|
||||||
using DesktopTools.Interfaces;
|
|
||||||
using DesktopTools.Models;
|
|
||||||
using ModuleTools.BusinessLogics;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using System;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using System.Xml.Linq;
|
|
||||||
|
|
||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.SpecialControls
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Контрол для работы с отчетом об успеваемости
|
|
||||||
/// </summary>
|
|
||||||
public partial class ControlReportAcademicProgress : UserControl, IControl
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Класс с бизнес-логикой работы с отчетом
|
|
||||||
/// </summary>
|
|
||||||
private readonly ReportLogic _reportLogic;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Событие, вызываемое при закрытии контрола
|
|
||||||
/// </summary>
|
|
||||||
///
|
|
||||||
private event Action<Guid> CloseEvent;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Событие получения значения из контрола
|
|
||||||
/// </summary>
|
|
||||||
private event Action<object> GetValues;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Контрол для работы с отчетом об успеваемости
|
|
||||||
/// </summary>
|
|
||||||
public ControlReportAcademicProgress()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
_reportLogic = DependencyManager.Instance.Resolve<ReportLogic>();
|
|
||||||
Title = "Отчет об успеваемости студентов";
|
|
||||||
ControlId = new Guid("cc2244e6-5d92-4c89-b817-4c17ec382bc1");
|
|
||||||
AccessOperation = AccessOperation.Учет_успеваемости;
|
|
||||||
toolStripButtonClose.Click += (object sender, EventArgs e) =>
|
|
||||||
{
|
|
||||||
CloseEvent?.Invoke(ControlId);
|
|
||||||
Dispose();
|
|
||||||
};
|
|
||||||
LoadGroupBoxReportInfo();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#region IControl
|
|
||||||
public Guid ControlId { get; private set; }
|
|
||||||
|
|
||||||
public string Title { get; private set; }
|
|
||||||
|
|
||||||
public AccessOperation AccessOperation { get; private set; }
|
|
||||||
|
|
||||||
public IControl GetInstance() => new ControlReportAcademicProgress() { ControlId = Guid.NewGuid() };
|
|
||||||
|
|
||||||
public void Open(ControlOpenModel model)
|
|
||||||
{
|
|
||||||
if (model.CloseList != null)
|
|
||||||
{
|
|
||||||
CloseEvent += model.CloseList;
|
|
||||||
}
|
|
||||||
Dock = DockStyle.Fill;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string SaveToXml() => new XElement("Control",
|
|
||||||
new XAttribute("Type", GetType().FullName),
|
|
||||||
new XAttribute("ControlId", ControlId),
|
|
||||||
new XAttribute("Title", Title),
|
|
||||||
new XAttribute("AccessOperation", AccessOperation)).ToString();
|
|
||||||
|
|
||||||
public void LoadFromXml(string xml)
|
|
||||||
{
|
|
||||||
var control = XElement.Parse(xml);
|
|
||||||
ControlId = new Guid(control.Attribute("ControlId").Value.ToString());
|
|
||||||
Title = control.Attribute("Title").Value.ToString();
|
|
||||||
AccessOperation = (AccessOperation)Enum.Parse(typeof(AccessOperation), control.Attribute("AccessOperation").Value.ToString());
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Выбор пути для папки сохранения отчета
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private void buttonSaveSelectFolder_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
var fbd = new FolderBrowserDialog();
|
|
||||||
if (fbd.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
|
||||||
textBoxSaveFolderName.Text = fbd.SelectedPath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonSave_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonSave_Click_1(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
var model = new StudentAcademicProgressSetBindingModel();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
GetValues(model);
|
|
||||||
|
|
||||||
_reportLogic.SaveReportToExcelFile(new ReportBindingModel
|
|
||||||
{
|
|
||||||
FolderName = textBoxSaveFolderName.Text,
|
|
||||||
StudentId = model.StudentId
|
|
||||||
});
|
|
||||||
DialogHelper.MessageInformation("Сохранение прошло успешно", "Результат");
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
DialogHelper.MessageException(ex.Message, "Ошибка при получении значений");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void LoadGroupBoxReportInfo()
|
|
||||||
{
|
|
||||||
|
|
||||||
int positionY = 40;
|
|
||||||
int interval = 15;
|
|
||||||
|
|
||||||
var controlStudent = new BaseControlGuid("StudentId", true, false, new ControlStudentList(), null)
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(50, positionY),
|
|
||||||
Size = new System.Drawing.Size(410, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlStudent.SetTitleWidth(controlStudent.SetTitle("Cтудент:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlStudent);
|
|
||||||
GetValues += controlStudent.GetValue;
|
|
||||||
|
|
||||||
positionY += controlStudent.Height + interval;
|
|
||||||
|
|
||||||
var controlStudentGroup = new BaseControlGuid(" StudentGroupId", true, false, new ControlStudentGroupList(), null)
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(53, positionY),
|
|
||||||
Size = new System.Drawing.Size(407, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlStudentGroup.SetTitleWidth(controlStudentGroup.SetTitle("Группа:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlStudentGroup);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonSaveSelectFolder_Click_1(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
var fbd = new FolderBrowserDialog();
|
|
||||||
if (fbd.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
|
||||||
textBoxSaveFolderName.Text = fbd.SelectedPath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
<root>
|
|
||||||
<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>
|
|
||||||
<metadata name="toolStripHeader.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>17, 17</value>
|
|
||||||
</metadata>
|
|
||||||
</root>
|
|
@ -1,154 +0,0 @@
|
|||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.SpecialControls
|
|
||||||
{
|
|
||||||
partial class ControlReportPlanDisciplines
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Обязательная переменная конструктора.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.IContainer components = null;
|
|
||||||
|
|
||||||
/// <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()
|
|
||||||
{
|
|
||||||
this.toolStripHeader = new System.Windows.Forms.ToolStrip();
|
|
||||||
this.toolStripButtonClose = new System.Windows.Forms.ToolStripButton();
|
|
||||||
this.buttonSave = new System.Windows.Forms.Button();
|
|
||||||
this.groupBoxReportInfo = new System.Windows.Forms.GroupBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.buttonSaveSelectFolder = new System.Windows.Forms.Button();
|
|
||||||
this.textBoxSaveFolderName = new System.Windows.Forms.TextBox();
|
|
||||||
this.labelSaveFolderName = new System.Windows.Forms.Label();
|
|
||||||
this.toolStripHeader.SuspendLayout();
|
|
||||||
this.groupBoxReportInfo.SuspendLayout();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// toolStripHeader
|
|
||||||
//
|
|
||||||
this.toolStripHeader.ImageScalingSize = new System.Drawing.Size(20, 20);
|
|
||||||
this.toolStripHeader.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
||||||
this.toolStripButtonClose});
|
|
||||||
this.toolStripHeader.Location = new System.Drawing.Point(0, 0);
|
|
||||||
this.toolStripHeader.Name = "toolStripHeader";
|
|
||||||
this.toolStripHeader.Size = new System.Drawing.Size(674, 27);
|
|
||||||
this.toolStripHeader.TabIndex = 4;
|
|
||||||
this.toolStripHeader.Text = "toolStrip1";
|
|
||||||
//
|
|
||||||
// toolStripButtonClose
|
|
||||||
//
|
|
||||||
this.toolStripButtonClose.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
|
||||||
this.toolStripButtonClose.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
|
||||||
this.toolStripButtonClose.Image = global::AcademicProgressWindowsDesktop.Properties.Resources.Close;
|
|
||||||
this.toolStripButtonClose.ImageTransparentColor = System.Drawing.Color.Magenta;
|
|
||||||
this.toolStripButtonClose.Name = "toolStripButtonClose";
|
|
||||||
this.toolStripButtonClose.Size = new System.Drawing.Size(29, 24);
|
|
||||||
this.toolStripButtonClose.Text = "Закрыть";
|
|
||||||
//
|
|
||||||
// buttonSave
|
|
||||||
//
|
|
||||||
this.buttonSave.Location = new System.Drawing.Point(517, 275);
|
|
||||||
this.buttonSave.Name = "buttonSave";
|
|
||||||
this.buttonSave.Size = new System.Drawing.Size(133, 28);
|
|
||||||
this.buttonSave.TabIndex = 6;
|
|
||||||
this.buttonSave.Text = "Сохранить";
|
|
||||||
this.buttonSave.UseVisualStyleBackColor = true;
|
|
||||||
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
|
|
||||||
//
|
|
||||||
// groupBoxReportInfo
|
|
||||||
//
|
|
||||||
this.groupBoxReportInfo.Controls.Add(this.label3);
|
|
||||||
this.groupBoxReportInfo.Location = new System.Drawing.Point(3, 80);
|
|
||||||
this.groupBoxReportInfo.Name = "groupBoxReportInfo";
|
|
||||||
this.groupBoxReportInfo.Size = new System.Drawing.Size(651, 180);
|
|
||||||
this.groupBoxReportInfo.TabIndex = 8;
|
|
||||||
this.groupBoxReportInfo.TabStop = false;
|
|
||||||
this.groupBoxReportInfo.Text = "Информация для отчета";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
this.label3.AutoSize = true;
|
|
||||||
this.label3.Location = new System.Drawing.Point(1519, 588);
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
this.label3.Size = new System.Drawing.Size(88, 20);
|
|
||||||
this.label3.TabIndex = 7;
|
|
||||||
this.label3.Text = "Семестр до";
|
|
||||||
//
|
|
||||||
// buttonSaveSelectFolder
|
|
||||||
//
|
|
||||||
this.buttonSaveSelectFolder.Location = new System.Drawing.Point(517, 29);
|
|
||||||
this.buttonSaveSelectFolder.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
|
||||||
this.buttonSaveSelectFolder.Name = "buttonSaveSelectFolder";
|
|
||||||
this.buttonSaveSelectFolder.Size = new System.Drawing.Size(133, 31);
|
|
||||||
this.buttonSaveSelectFolder.TabIndex = 5;
|
|
||||||
this.buttonSaveSelectFolder.Text = "Выбрать папку";
|
|
||||||
this.buttonSaveSelectFolder.UseVisualStyleBackColor = true;
|
|
||||||
this.buttonSaveSelectFolder.Click += new System.EventHandler(this.buttonSaveSelectFolder_Click);
|
|
||||||
//
|
|
||||||
// textBoxSaveFolderName
|
|
||||||
//
|
|
||||||
this.textBoxSaveFolderName.Location = new System.Drawing.Point(167, 31);
|
|
||||||
this.textBoxSaveFolderName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
|
||||||
this.textBoxSaveFolderName.Name = "textBoxSaveFolderName";
|
|
||||||
this.textBoxSaveFolderName.Size = new System.Drawing.Size(344, 27);
|
|
||||||
this.textBoxSaveFolderName.TabIndex = 4;
|
|
||||||
//
|
|
||||||
// labelSaveFolderName
|
|
||||||
//
|
|
||||||
this.labelSaveFolderName.AutoSize = true;
|
|
||||||
this.labelSaveFolderName.Location = new System.Drawing.Point(50, 34);
|
|
||||||
this.labelSaveFolderName.Name = "labelSaveFolderName";
|
|
||||||
this.labelSaveFolderName.Size = new System.Drawing.Size(111, 20);
|
|
||||||
this.labelSaveFolderName.TabIndex = 3;
|
|
||||||
this.labelSaveFolderName.Text = "Путь до папки:";
|
|
||||||
//
|
|
||||||
// ControlReportPlanDisciplines
|
|
||||||
//
|
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.Controls.Add(this.groupBoxReportInfo);
|
|
||||||
this.Controls.Add(this.buttonSave);
|
|
||||||
this.Controls.Add(this.toolStripHeader);
|
|
||||||
this.Controls.Add(this.textBoxSaveFolderName);
|
|
||||||
this.Controls.Add(this.labelSaveFolderName);
|
|
||||||
this.Controls.Add(this.buttonSaveSelectFolder);
|
|
||||||
this.Name = "ControlReportPlanDisciplines";
|
|
||||||
this.Size = new System.Drawing.Size(674, 317);
|
|
||||||
this.toolStripHeader.ResumeLayout(false);
|
|
||||||
this.toolStripHeader.PerformLayout();
|
|
||||||
this.groupBoxReportInfo.ResumeLayout(false);
|
|
||||||
this.groupBoxReportInfo.PerformLayout();
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
this.PerformLayout();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.ToolStrip toolStripHeader;
|
|
||||||
private System.Windows.Forms.ToolStripButton toolStripButtonClose;
|
|
||||||
private System.Windows.Forms.Button buttonSave;
|
|
||||||
private System.Windows.Forms.GroupBox groupBoxReportInfo;
|
|
||||||
private System.Windows.Forms.Button buttonSaveSelectFolder;
|
|
||||||
private System.Windows.Forms.TextBox textBoxSaveFolderName;
|
|
||||||
private System.Windows.Forms.Label labelSaveFolderName;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,140 +0,0 @@
|
|||||||
using DesktopTools.Interfaces;
|
|
||||||
using DesktopTools.Models;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using System;
|
|
||||||
using System.Xml.Linq;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using DesktopTools.BaseControls;
|
|
||||||
using DepartmentWindowsDesktop.EntityControls;
|
|
||||||
using DepartmentBusinessLogic.Enums;
|
|
||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.SpecialControls
|
|
||||||
{
|
|
||||||
public partial class ControlReportPlanDisciplines : UserControl, IControl
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Событие, вызываемое при закрытии контрола
|
|
||||||
/// </summary>
|
|
||||||
private event Action<Guid> CloseEvent;
|
|
||||||
public ControlReportPlanDisciplines()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
Title = "План сдачи";
|
|
||||||
//что за цифры тут откуда брать...
|
|
||||||
ControlId = new Guid("cc2234e6-5d92-4c89-b817-4c17ec382bc1");
|
|
||||||
AccessOperation = AccessOperation.План_сдачи;
|
|
||||||
toolStripButtonClose.Click += (object sender, EventArgs e) =>
|
|
||||||
{
|
|
||||||
CloseEvent?.Invoke(ControlId);
|
|
||||||
Dispose();
|
|
||||||
};
|
|
||||||
LoadGroupBoxReportInfo();
|
|
||||||
|
|
||||||
}
|
|
||||||
#region IControl
|
|
||||||
public Guid ControlId { get; private set; }
|
|
||||||
|
|
||||||
public string Title { get; private set; }
|
|
||||||
|
|
||||||
public AccessOperation AccessOperation { get; private set; }
|
|
||||||
|
|
||||||
public IControl GetInstance() => new ControlReportPlanDisciplines() { ControlId = Guid.NewGuid() };
|
|
||||||
|
|
||||||
public void Open(ControlOpenModel model)
|
|
||||||
{
|
|
||||||
if (model.CloseList != null)
|
|
||||||
{
|
|
||||||
CloseEvent += model.CloseList;
|
|
||||||
}
|
|
||||||
Dock = DockStyle.Fill;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string SaveToXml() => new XElement("Control",
|
|
||||||
new XAttribute("Type", GetType().FullName),
|
|
||||||
new XAttribute("ControlId", ControlId),
|
|
||||||
new XAttribute("Title", Title),
|
|
||||||
new XAttribute("AccessOperation", AccessOperation)).ToString();
|
|
||||||
|
|
||||||
public void LoadFromXml(string xml)
|
|
||||||
{
|
|
||||||
var control = XElement.Parse(xml);
|
|
||||||
ControlId = new Guid(control.Attribute("ControlId").Value.ToString());
|
|
||||||
Title = control.Attribute("Title").Value.ToString();
|
|
||||||
AccessOperation = (AccessOperation)Enum.Parse(typeof(AccessOperation), control.Attribute("AccessOperation").Value.ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private void buttonSave_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonSaveSelectFolder_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void LoadGroupBoxReportInfo()
|
|
||||||
{
|
|
||||||
|
|
||||||
int positionY = 40;
|
|
||||||
int interval = 15;
|
|
||||||
|
|
||||||
var controlStudent = new BaseControlGuid("StudentId", true, false, new ControlStudentList(), null)
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(100, positionY),
|
|
||||||
Size = new System.Drawing.Size(545, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlStudent.SetTitleWidth(controlStudent.SetTitle("Cтудент:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlStudent);
|
|
||||||
|
|
||||||
positionY += controlStudent.Height + interval;
|
|
||||||
|
|
||||||
var controlEducationDirectionUpTo = new BaseControlGuid("EducationDirectionViewModelId", true, false, new ControlEducationDirectionList(), null)
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(37, positionY),
|
|
||||||
Size = new System.Drawing.Size(356, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlEducationDirectionUpTo.SetTitleWidth(controlEducationDirectionUpTo.SetTitle("Направление до:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlEducationDirectionUpTo);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var controlSemesterUpTo = new BaseControlEnum("Semester", true, false, typeof(Semester))
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(425, positionY),
|
|
||||||
Size = new System.Drawing.Size(220, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlSemesterUpTo.SetTitleWidth(controlSemesterUpTo.SetTitle("Семестр до:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlSemesterUpTo);
|
|
||||||
|
|
||||||
positionY += controlEducationDirectionUpTo.Height + interval;
|
|
||||||
|
|
||||||
var controlEducationDirectionAfter = new BaseControlGuid("EducationDirectionViewModelId", true, false, new ControlEducationDirectionList(), null)
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(13, positionY),
|
|
||||||
Size = new System.Drawing.Size(380, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlEducationDirectionAfter.SetTitleWidth(controlEducationDirectionAfter.SetTitle("Направление после:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlEducationDirectionAfter);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var controlSemesterAfter = new BaseControlEnum("Semester", true, false, typeof(Semester))
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(401, positionY),
|
|
||||||
Size = new System.Drawing.Size(245, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlSemesterAfter.SetTitleWidth(controlSemesterAfter.SetTitle("Семестр после:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlSemesterAfter);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
<root>
|
|
||||||
<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>
|
|
||||||
<metadata name="toolStripHeader.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>17, 17</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>25</value>
|
|
||||||
</metadata>
|
|
||||||
</root>
|
|
@ -1,154 +0,0 @@
|
|||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.SpecialControls
|
|
||||||
{
|
|
||||||
partial class ControlStudentGraduate
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Обязательная переменная конструктора.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.IContainer components = null;
|
|
||||||
|
|
||||||
/// <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()
|
|
||||||
{
|
|
||||||
this.toolStripButtonClose = new System.Windows.Forms.ToolStripButton();
|
|
||||||
this.toolStripHeader = new System.Windows.Forms.ToolStrip();
|
|
||||||
this.groupBoxReportInfo = new System.Windows.Forms.GroupBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.buttonSaveSelectFolder = new System.Windows.Forms.Button();
|
|
||||||
this.buttonSave = new System.Windows.Forms.Button();
|
|
||||||
this.textBoxSaveFolderName = new System.Windows.Forms.TextBox();
|
|
||||||
this.labelSaveFolderName = new System.Windows.Forms.Label();
|
|
||||||
this.toolStripHeader.SuspendLayout();
|
|
||||||
this.groupBoxReportInfo.SuspendLayout();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// toolStripButtonClose
|
|
||||||
//
|
|
||||||
this.toolStripButtonClose.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
|
||||||
this.toolStripButtonClose.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
|
||||||
this.toolStripButtonClose.Image = global::AcademicProgressWindowsDesktop.Properties.Resources.Close;
|
|
||||||
this.toolStripButtonClose.ImageTransparentColor = System.Drawing.Color.Magenta;
|
|
||||||
this.toolStripButtonClose.Name = "toolStripButtonClose";
|
|
||||||
this.toolStripButtonClose.Size = new System.Drawing.Size(29, 24);
|
|
||||||
this.toolStripButtonClose.Text = "Закрыть";
|
|
||||||
//
|
|
||||||
// toolStripHeader
|
|
||||||
//
|
|
||||||
this.toolStripHeader.ImageScalingSize = new System.Drawing.Size(20, 20);
|
|
||||||
this.toolStripHeader.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
||||||
this.toolStripButtonClose});
|
|
||||||
this.toolStripHeader.Location = new System.Drawing.Point(0, 0);
|
|
||||||
this.toolStripHeader.Name = "toolStripHeader";
|
|
||||||
this.toolStripHeader.Size = new System.Drawing.Size(478, 27);
|
|
||||||
this.toolStripHeader.TabIndex = 2;
|
|
||||||
this.toolStripHeader.Text = "toolStrip1";
|
|
||||||
//
|
|
||||||
// groupBoxReportInfo
|
|
||||||
//
|
|
||||||
this.groupBoxReportInfo.Controls.Add(this.label3);
|
|
||||||
this.groupBoxReportInfo.Location = new System.Drawing.Point(3, 109);
|
|
||||||
this.groupBoxReportInfo.Name = "groupBoxReportInfo";
|
|
||||||
this.groupBoxReportInfo.Size = new System.Drawing.Size(460, 76);
|
|
||||||
this.groupBoxReportInfo.TabIndex = 23;
|
|
||||||
this.groupBoxReportInfo.TabStop = false;
|
|
||||||
this.groupBoxReportInfo.Text = "Информация для отчета";
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
this.label3.AutoSize = true;
|
|
||||||
this.label3.Location = new System.Drawing.Point(1519, 588);
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
this.label3.Size = new System.Drawing.Size(88, 20);
|
|
||||||
this.label3.TabIndex = 7;
|
|
||||||
this.label3.Text = "Семестр до";
|
|
||||||
//
|
|
||||||
// buttonSaveSelectFolder
|
|
||||||
//
|
|
||||||
this.buttonSaveSelectFolder.Location = new System.Drawing.Point(330, 69);
|
|
||||||
this.buttonSaveSelectFolder.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
|
||||||
this.buttonSaveSelectFolder.Name = "buttonSaveSelectFolder";
|
|
||||||
this.buttonSaveSelectFolder.Size = new System.Drawing.Size(133, 31);
|
|
||||||
this.buttonSaveSelectFolder.TabIndex = 21;
|
|
||||||
this.buttonSaveSelectFolder.Text = "Выбрать папку";
|
|
||||||
this.buttonSaveSelectFolder.UseVisualStyleBackColor = true;
|
|
||||||
this.buttonSaveSelectFolder.Click += new System.EventHandler(this.buttonSaveSelectFolder_Click);
|
|
||||||
//
|
|
||||||
// buttonSave
|
|
||||||
//
|
|
||||||
this.buttonSave.Location = new System.Drawing.Point(330, 203);
|
|
||||||
this.buttonSave.Name = "buttonSave";
|
|
||||||
this.buttonSave.Size = new System.Drawing.Size(133, 28);
|
|
||||||
this.buttonSave.TabIndex = 22;
|
|
||||||
this.buttonSave.Text = "Сохранить";
|
|
||||||
this.buttonSave.UseVisualStyleBackColor = true;
|
|
||||||
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
|
|
||||||
//
|
|
||||||
// textBoxSaveFolderName
|
|
||||||
//
|
|
||||||
this.textBoxSaveFolderName.Location = new System.Drawing.Point(119, 34);
|
|
||||||
this.textBoxSaveFolderName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
|
||||||
this.textBoxSaveFolderName.Name = "textBoxSaveFolderName";
|
|
||||||
this.textBoxSaveFolderName.Size = new System.Drawing.Size(344, 27);
|
|
||||||
this.textBoxSaveFolderName.TabIndex = 20;
|
|
||||||
//
|
|
||||||
// labelSaveFolderName
|
|
||||||
//
|
|
||||||
this.labelSaveFolderName.AutoSize = true;
|
|
||||||
this.labelSaveFolderName.Location = new System.Drawing.Point(11, 37);
|
|
||||||
this.labelSaveFolderName.Name = "labelSaveFolderName";
|
|
||||||
this.labelSaveFolderName.Size = new System.Drawing.Size(111, 20);
|
|
||||||
this.labelSaveFolderName.TabIndex = 19;
|
|
||||||
this.labelSaveFolderName.Text = "Путь до папки:";
|
|
||||||
//
|
|
||||||
// ControlStudentGraduate
|
|
||||||
//
|
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.Controls.Add(this.groupBoxReportInfo);
|
|
||||||
this.Controls.Add(this.buttonSaveSelectFolder);
|
|
||||||
this.Controls.Add(this.buttonSave);
|
|
||||||
this.Controls.Add(this.textBoxSaveFolderName);
|
|
||||||
this.Controls.Add(this.labelSaveFolderName);
|
|
||||||
this.Controls.Add(this.toolStripHeader);
|
|
||||||
this.Name = "ControlStudentGraduate";
|
|
||||||
this.Size = new System.Drawing.Size(478, 247);
|
|
||||||
this.toolStripHeader.ResumeLayout(false);
|
|
||||||
this.toolStripHeader.PerformLayout();
|
|
||||||
this.groupBoxReportInfo.ResumeLayout(false);
|
|
||||||
this.groupBoxReportInfo.PerformLayout();
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
this.PerformLayout();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.ToolStripButton toolStripButtonClose;
|
|
||||||
private System.Windows.Forms.ToolStrip toolStripHeader;
|
|
||||||
private System.Windows.Forms.GroupBox groupBoxReportInfo;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.Button buttonSaveSelectFolder;
|
|
||||||
private System.Windows.Forms.Button buttonSave;
|
|
||||||
private System.Windows.Forms.TextBox textBoxSaveFolderName;
|
|
||||||
private System.Windows.Forms.Label labelSaveFolderName;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
using AcademicProgressBusinessLogic.BindingModels;
|
|
||||||
using AcademicProgressBusinessLogic.BusinessLogics;
|
|
||||||
using DepartmentWindowsDesktop.EntityControls;
|
|
||||||
using DesktopTools.BaseControls;
|
|
||||||
using DesktopTools.Helpers;
|
|
||||||
using DesktopTools.Interfaces;
|
|
||||||
using DesktopTools.Models;
|
|
||||||
using ModuleTools.BusinessLogics;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using System;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using System.Xml.Linq;
|
|
||||||
|
|
||||||
namespace AcademicProgressWindowsDesktop.SpecialControls
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Контрол для работы с выпускниками
|
|
||||||
/// </summary>
|
|
||||||
public partial class ControlStudentGraduate : UserControl, IControl
|
|
||||||
{
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Класс с бизнес-логикой работы с отчетом
|
|
||||||
/// </summary>
|
|
||||||
private readonly ReportLogic _reportLogic;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Событие, вызываемое при закрытии контрола
|
|
||||||
/// </summary>
|
|
||||||
private event Action<Guid> CloseEvent;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Событие получения значения из контрола
|
|
||||||
/// </summary>
|
|
||||||
private event Action<object> GetValues;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Контрол для работы с отчетом приложения к диплому
|
|
||||||
/// </summary>
|
|
||||||
public ControlStudentGraduate()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
_reportLogic = DependencyManager.Instance.Resolve<ReportLogic>();
|
|
||||||
Title = "Приложение к диплому";
|
|
||||||
ControlId = new Guid("cc3944e6-5d92-4c89-b817-4c17ec382bc1");
|
|
||||||
AccessOperation = AccessOperation.Для_выпускников;
|
|
||||||
toolStripButtonClose.Click += (object sender, EventArgs e) =>
|
|
||||||
{
|
|
||||||
CloseEvent?.Invoke(ControlId);
|
|
||||||
Dispose();
|
|
||||||
};
|
|
||||||
LoadGroupBoxReportInfo();
|
|
||||||
|
|
||||||
}
|
|
||||||
#region IControl
|
|
||||||
public Guid ControlId { get; private set; }
|
|
||||||
|
|
||||||
public string Title { get; private set; }
|
|
||||||
|
|
||||||
public AccessOperation AccessOperation { get; private set; }
|
|
||||||
|
|
||||||
public IControl GetInstance() => new ControlStudentGraduate() { ControlId = Guid.NewGuid() };
|
|
||||||
|
|
||||||
public void Open(ControlOpenModel model)
|
|
||||||
{
|
|
||||||
if (model.CloseList != null)
|
|
||||||
{
|
|
||||||
CloseEvent += model.CloseList;
|
|
||||||
}
|
|
||||||
Dock = DockStyle.Fill;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string SaveToXml() => new XElement("Control",
|
|
||||||
new XAttribute("Type", GetType().FullName),
|
|
||||||
new XAttribute("ControlId", ControlId),
|
|
||||||
new XAttribute("Title", Title),
|
|
||||||
new XAttribute("AccessOperation", AccessOperation)).ToString();
|
|
||||||
|
|
||||||
public void LoadFromXml(string xml)
|
|
||||||
{
|
|
||||||
var control = XElement.Parse(xml);
|
|
||||||
ControlId = new Guid(control.Attribute("ControlId").Value.ToString());
|
|
||||||
Title = control.Attribute("Title").Value.ToString();
|
|
||||||
AccessOperation = (AccessOperation)Enum.Parse(typeof(AccessOperation), control.Attribute("AccessOperation").Value.ToString());
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void LoadGroupBoxReportInfo()
|
|
||||||
{
|
|
||||||
|
|
||||||
int positionY = 40;
|
|
||||||
|
|
||||||
var controlStudent = new BaseControlGuid("StudentId", true, false, new ControlStudentList(), null)
|
|
||||||
{
|
|
||||||
Location = new System.Drawing.Point(50, positionY),
|
|
||||||
Size = new System.Drawing.Size(410, 23)
|
|
||||||
|
|
||||||
};
|
|
||||||
controlStudent.SetTitleWidth(controlStudent.SetTitle("Cтудент:"));
|
|
||||||
groupBoxReportInfo.Controls.Add(controlStudent);
|
|
||||||
GetValues += controlStudent.GetValue;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonSaveSelectFolder_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
var fbd = new FolderBrowserDialog();
|
|
||||||
if (fbd.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
|
||||||
textBoxSaveFolderName.Text = fbd.SelectedPath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonSave_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
var model = new StudentAcademicProgressSetBindingModel();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
GetValues(model);
|
|
||||||
|
|
||||||
_reportLogic.SaveReportToWordFile(new ReportBindingModel
|
|
||||||
{
|
|
||||||
FolderName = textBoxSaveFolderName.Text,
|
|
||||||
StudentId = model.StudentId
|
|
||||||
});
|
|
||||||
DialogHelper.MessageInformation("Сохранение прошло успешно", "Результат");
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
DialogHelper.MessageException(ex.Message, "Ошибка при получении значений");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
<root>
|
|
||||||
<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>
|
|
||||||
<metadata name="toolStripHeader.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>17, 17</value>
|
|
||||||
</metadata>
|
|
||||||
</root>
|
|
@ -1,39 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.Attributes
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Описание зависимости сущности от другой сущности (требуется для сохранения и загрузки данных)
|
|
||||||
/// </summary>
|
|
||||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
|
||||||
public class EntityDependencyAttribute : Attribute
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Название класса от котрого зависит этот класс
|
|
||||||
/// </summary>
|
|
||||||
public string ClassName { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Название поле в этом классе, которое ссылает на другой класс (идентификатор)
|
|
||||||
/// </summary>
|
|
||||||
public string ColumnName { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Описание зависимости
|
|
||||||
/// </summary>
|
|
||||||
public string Description { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Конструктор
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="className">Название класса от котрого зависит этот класс</param>
|
|
||||||
/// <param name="columnName">Название поле в этом классе, которое ссылает на другой класс (идентификатор)</param>
|
|
||||||
/// <param name="description">Описание зависимости</param>
|
|
||||||
public EntityDependencyAttribute(string className, string columnName, string description)
|
|
||||||
{
|
|
||||||
ClassName = className;
|
|
||||||
ColumnName = columnName;
|
|
||||||
Description = description;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.Attributes
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Описание класса из базы данных, его назначение
|
|
||||||
/// </summary>
|
|
||||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
|
||||||
public class EntityDescriptionAttribute : Attribute
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Название сущности, которую описывает класс
|
|
||||||
/// </summary>
|
|
||||||
public string EntityName { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Описание назначения сущности
|
|
||||||
/// </summary>
|
|
||||||
public string Description { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Конструктор
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="entityName">Название сущности, которую описывает класс</param>
|
|
||||||
/// <param name="description">Описание назначения сущности</param>
|
|
||||||
public EntityDescriptionAttribute(string entityName, string description)
|
|
||||||
{
|
|
||||||
EntityName = entityName;
|
|
||||||
Description = description;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.Attributes
|
|
||||||
{
|
|
||||||
[AttributeUsage(AttributeTargets.Property, AllowMultiple = true)]
|
|
||||||
public class ViewModelPropertyAttribute : Attribute
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Название на форме
|
|
||||||
/// </summary>
|
|
||||||
public string DisplayName { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Скрывать или нет
|
|
||||||
/// </summary>
|
|
||||||
public bool IsHide { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Ширина колонки
|
|
||||||
/// </summary>
|
|
||||||
public int ColumnWidth { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Конструктор
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="displayName">Название на форме</param>
|
|
||||||
/// <param name="isHide">Скрывать или нет</param>
|
|
||||||
/// <param name="columnWidth">Ширина колонки</param>
|
|
||||||
public ViewModelPropertyAttribute(string displayName, int columnWidth, bool isHide = false)
|
|
||||||
{
|
|
||||||
DisplayName = displayName;
|
|
||||||
ColumnWidth = columnWidth;
|
|
||||||
IsHide = isHide;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.BindingModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Информация для доступа к выполнению операций
|
|
||||||
/// </summary>
|
|
||||||
public class AccessBindingModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Пропускать проверку (работает только для получения данных)
|
|
||||||
/// </summary>
|
|
||||||
public bool SkipCheck { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Идентификатор пользователя, который запрашивает выполнение операции
|
|
||||||
/// </summary>
|
|
||||||
public Guid? UserId { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.BindingModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Получение записи по идентификатору
|
|
||||||
/// </summary>
|
|
||||||
public class GetBinidingModel : AccessBindingModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Идентификатор получаемой записи
|
|
||||||
/// </summary>
|
|
||||||
public Guid? Id { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
namespace CommonTools.BindingModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Пагинация для получения записей
|
|
||||||
/// </summary>
|
|
||||||
public class PageSettingBinidingModel : AccessBindingModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Номер страницы, которую получаем
|
|
||||||
/// </summary>
|
|
||||||
public int? PageNumber { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Количество записей возвращаемых
|
|
||||||
/// </summary>
|
|
||||||
public int? PageSize { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Иной признак, по которму отбираем записи
|
|
||||||
/// </summary>
|
|
||||||
public string PageName { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.BindingModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Сохранение записи по идентификатору
|
|
||||||
/// </summary>
|
|
||||||
public class SetBinidingModel : AccessBindingModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Идентификатор записи
|
|
||||||
/// </summary>
|
|
||||||
public Guid Id { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
@ -1,38 +0,0 @@
|
|||||||
namespace CommonTools.Enums
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Статус результата операции
|
|
||||||
/// </summary>
|
|
||||||
public enum ResultServiceStatusCode
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Успешно
|
|
||||||
/// </summary>
|
|
||||||
Success = 200,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Ошибка общая
|
|
||||||
/// </summary>
|
|
||||||
Error = 400,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Элемент уже сущствует
|
|
||||||
/// </summary>
|
|
||||||
ExsistItem = 401,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Запись удалена
|
|
||||||
/// </summary>
|
|
||||||
WasDelete = 402,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Не найдено
|
|
||||||
/// </summary>
|
|
||||||
NotFound = 404,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Не найден файл
|
|
||||||
/// </summary>
|
|
||||||
FileNotFound = 405
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
using CommonTools.Enums;
|
|
||||||
using CommonTools.OperationResultModels;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.Extensions
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Расширения для результата операции
|
|
||||||
/// </summary>
|
|
||||||
public static class OperationResultExtensions
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление простой ошибки
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <param name="key"></param>
|
|
||||||
/// <param name="value"></param>
|
|
||||||
public static void AddError(this OperationResultModel model, string key, string value) => model.AddError(key, value, ResultServiceStatusCode.Error);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление простой ошибки со сменой статуса
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <param name="key"></param>
|
|
||||||
/// <param name="error"></param>
|
|
||||||
/// <param name="statusCode"></param>
|
|
||||||
public static void AddError(this OperationResultModel model, string key, string error, ResultServiceStatusCode statusCode)
|
|
||||||
{
|
|
||||||
model.Errors.Add((key, error));
|
|
||||||
model.StatusCode = statusCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление ошибки
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <param name="error"></param>
|
|
||||||
public static void AddError(this OperationResultModel model, Exception error) => model.AddError(error, ResultServiceStatusCode.Error);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление ошибки
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <param name="error"></param>
|
|
||||||
/// <param name="statusCode"></param>
|
|
||||||
public static void AddError(this OperationResultModel model, Exception error, ResultServiceStatusCode statusCode) => model.AddError("Ошибка", error, statusCode);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление ошибки (включая вложеннные)
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <param name="key"></param>
|
|
||||||
/// <param name="error"></param>
|
|
||||||
/// <param name="statusCode"></param>
|
|
||||||
public static void AddError(this OperationResultModel model, string key, Exception error, ResultServiceStatusCode statusCode)
|
|
||||||
{
|
|
||||||
model.Errors.Add((key, error.Message));
|
|
||||||
while (error.InnerException != null)
|
|
||||||
{
|
|
||||||
error = error.InnerException;
|
|
||||||
model.Errors.Add(("Inner error:", error.Message));
|
|
||||||
}
|
|
||||||
model.StatusCode = statusCode;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
using CommonTools.Enums;
|
|
||||||
using CommonTools.ViewModels;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace CommonTools.OperationResultModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Результат любой операции
|
|
||||||
/// </summary>
|
|
||||||
public class OperationResultModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Успешность операции (количество ошибок = 0)
|
|
||||||
/// </summary>
|
|
||||||
public bool IsSucceeded => Errors.Count == 0;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Статус операции
|
|
||||||
/// </summary>
|
|
||||||
public ResultServiceStatusCode StatusCode { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Спсиок ошибок
|
|
||||||
/// </summary>
|
|
||||||
public List<(string Title, string Message)> Errors { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Объект, получаемый по результатам операции
|
|
||||||
/// </summary>
|
|
||||||
public object Result { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Конструктор по умолчанию
|
|
||||||
/// </summary>
|
|
||||||
public OperationResultModel()
|
|
||||||
{
|
|
||||||
Errors = new List<(string Title, string Message)>();
|
|
||||||
StatusCode = ResultServiceStatusCode.Success;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
using CommonTools.Attributes;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace CommonTools.ViewModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Возвращаемая запись
|
|
||||||
/// </summary>
|
|
||||||
public class ElementViewModel
|
|
||||||
{
|
|
||||||
[ViewModelProperty("Идентификатор", 1, true)]
|
|
||||||
public Guid Id { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace CommonTools.ViewModels
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Список возвращаемых значений
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="T"></typeparam>
|
|
||||||
public class ListViewModel<T>
|
|
||||||
where T : ElementViewModel
|
|
||||||
{
|
|
||||||
public int MaxCount { get; set; }
|
|
||||||
|
|
||||||
public List<T> List { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,268 +0,0 @@
|
|||||||
using DatabaseCore.Models;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using ModuleTools.BindingModels;
|
|
||||||
using ModuleTools.BusinessLogics;
|
|
||||||
using ModuleTools.Enums;
|
|
||||||
using ModuleTools.Interfaces;
|
|
||||||
using ModuleTools.Models;
|
|
||||||
using ModuleTools.ViewModels;
|
|
||||||
using System;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace DatabaseCore
|
|
||||||
{
|
|
||||||
public abstract class AbstractGenerticEntityService<G, S, T, L, E> : IGenerticEntityService<G, S>
|
|
||||||
where G : GetBindingModel
|
|
||||||
where S : SetBindingModel
|
|
||||||
where T : BaseEntity
|
|
||||||
where L : ListViewModel<E>, new()
|
|
||||||
where E : ElementViewModel
|
|
||||||
{
|
|
||||||
public OperationResultModel Create(S model)
|
|
||||||
{
|
|
||||||
using var context = DatabaseManager.GetContext;
|
|
||||||
|
|
||||||
var result = AdditionalCheckingWhenAdding(context, model);
|
|
||||||
if (!result.IsSucceeded)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
var exsistEntity = GetUniqueEntity(model, context);
|
|
||||||
if (exsistEntity == null)
|
|
||||||
{
|
|
||||||
var entity = Mapper.MapToClass<S, T>(model, true);
|
|
||||||
context.Set<T>().Add(entity);
|
|
||||||
context.SaveChanges();
|
|
||||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(entity, true));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (exsistEntity.IsDeleted)
|
|
||||||
{
|
|
||||||
exsistEntity = Mapper.MapToClass(model, exsistEntity, true);
|
|
||||||
exsistEntity.IsDeleted = false;
|
|
||||||
context.SaveChanges();
|
|
||||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(exsistEntity, true));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент уже существует", ResultServiceStatusCode.ExsistItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public OperationResultModel Delete(G model)
|
|
||||||
{
|
|
||||||
using var context = DatabaseManager.GetContext;
|
|
||||||
using var transaction = context.Database.BeginTransaction();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var entity = context.Set<T>().FirstOrDefault(x => x.Id == model.Id);
|
|
||||||
if (entity == null)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
|
||||||
}
|
|
||||||
else if (entity.IsDeleted)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент был удален", ResultServiceStatusCode.WasDelete);
|
|
||||||
}
|
|
||||||
|
|
||||||
var result = AdditionalCheckingWhenDeleting(context, entity, model);
|
|
||||||
if (!result.IsSucceeded)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
entity.IsDeleted = true;
|
|
||||||
entity.DateDelete = DateTime.Now;
|
|
||||||
|
|
||||||
context.SaveChanges();
|
|
||||||
|
|
||||||
AdditionalDeleting(context, entity, model);
|
|
||||||
|
|
||||||
transaction.Commit();
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
transaction.Rollback();
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
|
|
||||||
return OperationResultModel.Success(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public OperationResultModel Restore(G model)
|
|
||||||
{
|
|
||||||
if (model.Id.HasValue || AdditionalCheckForSingleGet(model))
|
|
||||||
{
|
|
||||||
using var context = DatabaseManager.GetContext;
|
|
||||||
var entity = model.Id.HasValue ? IncludingWhenReading(context.Set<T>().AsQueryable()).FirstOrDefault(x => x.Id == model.Id.Value)
|
|
||||||
: GetSingleRecord(context.Set<T>().AsQueryable(), model);
|
|
||||||
if (entity == null)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
|
||||||
}
|
|
||||||
else if (!entity.IsDeleted)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент не был удален", ResultServiceStatusCode.ExsistItem);
|
|
||||||
}
|
|
||||||
entity.IsDeleted = false;
|
|
||||||
|
|
||||||
context.SaveChanges();
|
|
||||||
|
|
||||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(entity, true));
|
|
||||||
}
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
|
||||||
}
|
|
||||||
|
|
||||||
public OperationResultModel Read(G model)
|
|
||||||
{
|
|
||||||
int countPages = 0;
|
|
||||||
using var context = DatabaseManager.GetContext;
|
|
||||||
|
|
||||||
// для одной записи
|
|
||||||
if (model.Id.HasValue || AdditionalCheckForSingleGet(model))
|
|
||||||
{
|
|
||||||
var entity = model.Id.HasValue ? IncludingWhenReading(context.Set<T>().AsQueryable()).FirstOrDefault(x => x.Id == model.Id.Value)
|
|
||||||
: GetSingleRecord(context.Set<T>().AsQueryable(), model);
|
|
||||||
if (entity == null)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
|
||||||
}
|
|
||||||
if (entity.IsDeleted)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент удален", ResultServiceStatusCode.WasDelete);
|
|
||||||
}
|
|
||||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(entity, model.HaveRight));
|
|
||||||
}
|
|
||||||
|
|
||||||
var query = context.Set<T>().Where(x => !x.IsDeleted).AsQueryable();
|
|
||||||
|
|
||||||
query = AdditionalCheckingWhenReadingList(query, model);
|
|
||||||
|
|
||||||
query = OrderingWhenReading(query);
|
|
||||||
|
|
||||||
query = IncludingWhenReading(query);
|
|
||||||
|
|
||||||
if (model.PageNumber.HasValue && model.PageSize.HasValue)
|
|
||||||
{
|
|
||||||
countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value);
|
|
||||||
query = query
|
|
||||||
.Skip(model.PageSize.Value * model.PageNumber.Value)
|
|
||||||
.Take(model.PageSize.Value);
|
|
||||||
}
|
|
||||||
var result = new L
|
|
||||||
{
|
|
||||||
MaxCount = countPages,
|
|
||||||
List = query.Select(x => Mapper.MapToClass<T, E>(x, model.HaveRight)).ToList()
|
|
||||||
};
|
|
||||||
|
|
||||||
return OperationResultModel.Success(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public OperationResultModel Update(S model)
|
|
||||||
{
|
|
||||||
using var context = DatabaseManager.GetContext;
|
|
||||||
|
|
||||||
var result = AdditionalCheckingWhenUpdateing(context, model);
|
|
||||||
if (!result.IsSucceeded)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
var exsistEntity = GetUniqueEntity(model, context);
|
|
||||||
if (exsistEntity != null)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Существует запись с такими значениями", ResultServiceStatusCode.ExsistItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
var entity = context.Set<T>().FirstOrDefault(x => x.Id == model.Id);
|
|
||||||
if (entity == null)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
|
||||||
}
|
|
||||||
else if (entity.IsDeleted)
|
|
||||||
{
|
|
||||||
return OperationResultModel.Error("Error:", "Элемент был удален", ResultServiceStatusCode.WasDelete);
|
|
||||||
}
|
|
||||||
entity = Mapper.MapToClass(model, entity, true);
|
|
||||||
|
|
||||||
context.SaveChanges();
|
|
||||||
|
|
||||||
return OperationResultModel.Success(Mapper.MapToClass<T, E>(entity, true));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Поиск записи с уникальными значениями
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected abstract T GetUniqueEntity(S model, DbContext context);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Возможные дополнительные проверки при добавлении
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="context"></param>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected abstract OperationResultModel AdditionalCheckingWhenAdding(DbContext context, S model);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Возможные дополнительные проверки при удалении
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="context"></param>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected abstract OperationResultModel AdditionalCheckingWhenDeleting(DbContext context, T entity, G model);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление дополнительных фильтров
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="query"></param>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected abstract IQueryable<T> AdditionalCheckingWhenReadingList(IQueryable<T> query, G model);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Возможные дополнительные проверки модели при изменении
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
protected abstract OperationResultModel AdditionalCheckingWhenUpdateing(DbContext context, S model);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Дополнительные удаления зависимых сущностей
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
protected abstract void AdditionalDeleting(DbContext context, T entity, G model);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Установка сортировок
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="query"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected abstract IQueryable<T> OrderingWhenReading(IQueryable<T> query);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление Include
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="query"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected abstract IQueryable<T> IncludingWhenReading(IQueryable<T> query);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Дополнительыне проверки, если требуется получать единичную запись но не по id
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected virtual bool AdditionalCheckForSingleGet(G model) => false;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Получение единичной записи но не по id
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="list"></param>
|
|
||||||
/// <param name="model"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected virtual T GetSingleRecord(IQueryable<T> list, G model) => null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,130 +0,0 @@
|
|||||||
using DatabaseCore.Models.AcademicProgress;
|
|
||||||
using DatabaseCore.Models.Department;
|
|
||||||
using DatabaseCore.Models.Security;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace DatabaseCore
|
|
||||||
{
|
|
||||||
public class DatabaseContext : DbContext
|
|
||||||
{
|
|
||||||
public DatabaseContext() : base() { }
|
|
||||||
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
||||||
{
|
|
||||||
if (optionsBuilder.IsConfigured == false)
|
|
||||||
{
|
|
||||||
#if RELEASE
|
|
||||||
var connectionString = ModuleTools.ServiceProvider.ServiceProviderLoader.GetConfigData("connectionString");
|
|
||||||
optionsBuilder.UseSqlServer(connectionString);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if DEBUG
|
|
||||||
optionsBuilder.UseSqlServer(@"Data Source=DESKTOP-V8MOBH6\SQLEXPRESS;Initial Catalog=DepartmentDBPortal2;Integrated Security=True;MultipleActiveResultSets=True;");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
base.OnConfiguring(optionsBuilder);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
modelBuilder.Entity<EnviromentSetting>().HasIndex(s => s.Key).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<Role>().HasIndex(s => s.RoleName).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<User>().HasIndex(s => s.UserName);
|
|
||||||
|
|
||||||
modelBuilder.Entity<Post>().HasIndex(s => s.PostName).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<Employee>().HasIndex(d => new { d.FirstName, d.LastName, d.Patronymic }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<Classroom>().HasIndex(d => new { d.Number }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<DisciplineBlock>().HasIndex(d => new { d.Title }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<Discipline>().HasIndex(d => new { d.DisciplineName }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<LecturerAcademicDegree>().HasIndex(d => new { d.LecturerAcademicDegreeName }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<LecturerAcademicRank>().HasIndex(d => new { d.LecturerAcademicRankName }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<Lecturer>().HasIndex(d => new { d.FirstName, d.LastName, d.Patronymic }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<EducationDirection>().HasIndex(d => new { d.Title, d.Profile }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<TimeNorm>().HasIndex(d => new { d.TimeNormName, d.TimeNormShortName }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<AcademicPlan>().HasIndex(d => new { d.EducationDirectionId, d.YearEntrance }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<AcademicPlanRecord>().HasIndex(d => new { d.AcademicPlanId, d.DisciplineId, d.Semester }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<AcademicPlanRecordTimeNormHour>().HasIndex(d => new { d.AcademicPlanRecordId, d.TimeNormId }).IsUnique();
|
|
||||||
|
|
||||||
// ругается на циклическое каскадное удаление, так что по нормам времени убираем ее
|
|
||||||
modelBuilder.Entity<AcademicPlanRecordTimeNormHour>()
|
|
||||||
.HasOne(x => x.TimeNorm)
|
|
||||||
.WithMany(x => x.AcademicPlanRecordTimeNormHours)
|
|
||||||
.OnDelete(DeleteBehavior.NoAction);
|
|
||||||
|
|
||||||
modelBuilder.Entity<StudentGroup>().HasIndex(d => new { d.EducationDirectionId, d.AcademicCourse, d.GroupNumber }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<Student>().HasIndex(d => new { d.NumberOfBook }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<Order>().HasIndex(d => new { d.OrderNumber }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<StudentAcademicProgress>().HasIndex(d => new { d.StudentId, d.DisciplineId, d.Semester }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<OrderStudentRecord>().HasIndex(d => new { d.StudentId, d.OrderId }).IsUnique();
|
|
||||||
|
|
||||||
modelBuilder.Entity<OrderStudentRecord>()
|
|
||||||
.HasOne(x => x.StudentGroupFrom)
|
|
||||||
.WithMany(p => p.OrderStudentRecordFroms)
|
|
||||||
.HasForeignKey(pt => pt.StudentGroupFromId)
|
|
||||||
.OnDelete(DeleteBehavior.SetNull);
|
|
||||||
|
|
||||||
modelBuilder.Entity<OrderStudentRecord>()
|
|
||||||
.HasOne(x => x.StudentGroupTo)
|
|
||||||
.WithMany(p => p.OrderStudentRecordTos)
|
|
||||||
.HasForeignKey(pt => pt.StudentGroupToId)
|
|
||||||
.OnDelete(DeleteBehavior.NoAction);
|
|
||||||
|
|
||||||
// ругается на циклическое каскадное удаление, так что по нормам времени убираем ее
|
|
||||||
modelBuilder.Entity<OrderStudentRecord>()
|
|
||||||
.HasOne(x => x.Student)
|
|
||||||
.WithMany(x => x.OrderStudentRecords)
|
|
||||||
.OnDelete(DeleteBehavior.NoAction);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Security
|
|
||||||
public virtual DbSet<Access> Accesses { set; get; }
|
|
||||||
public virtual DbSet<EnviromentSetting> EnviromentSettings { set; get; }
|
|
||||||
public virtual DbSet<Role> Roles { set; get; }
|
|
||||||
public virtual DbSet<User> Users { set; get; }
|
|
||||||
public virtual DbSet<UserRole> UserRoles { set; get; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Department
|
|
||||||
public virtual DbSet<Post> Posts { set; get; }
|
|
||||||
public virtual DbSet<Employee> Employees { set; get; }
|
|
||||||
public virtual DbSet<EmployeePost> EmployeePosts { set; get; }
|
|
||||||
public virtual DbSet<Classroom> Classrooms { set; get; }
|
|
||||||
public virtual DbSet<DisciplineBlock> DisciplineBlocks { set; get; }
|
|
||||||
public virtual DbSet<Discipline> Disciplines { set; get; }
|
|
||||||
public virtual DbSet<LecturerAcademicDegree> LecturerAcademicDegrees { set; get; }
|
|
||||||
public virtual DbSet<LecturerAcademicRank> LecturerAcademicRanks { set; get; }
|
|
||||||
public virtual DbSet<LecturerPost> LecturerPosts { set; get; }
|
|
||||||
public virtual DbSet<Lecturer> Lecturers { set; get; }
|
|
||||||
public virtual DbSet<EducationDirection> EducationDirections { set; get; }
|
|
||||||
public virtual DbSet<TimeNorm> TimeNorms { set; get; }
|
|
||||||
public virtual DbSet<AcademicPlan> AcademicPlans { set; get; }
|
|
||||||
public virtual DbSet<AcademicPlanRecord> AcademicPlanRecords { set; get; }
|
|
||||||
public virtual DbSet<AcademicPlanRecordTimeNormHour> AcademicPlanRecordTimeNormHours { set; get; }
|
|
||||||
public virtual DbSet<StudentGroup> StudentGroups { set; get; }
|
|
||||||
public virtual DbSet<Student> Students { set; get; }
|
|
||||||
public virtual DbSet<Order> Orders { set; get; }
|
|
||||||
public virtual DbSet<OrderStudentRecord> OrderStudentRecords { set; get; }
|
|
||||||
public virtual DbSet<OrderSyncHistory> OrderSyncHistories { set; get; }
|
|
||||||
public virtual DbSet<OrderSyncHistoryRecord> OrderSyncHistoryRecords { set; get; }
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.5" />
|
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.5" />
|
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.5">
|
|
||||||
<PrivateAssets>all</PrivateAssets>
|
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
||||||
</PackageReference>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\ModuleTools\ModuleTools.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
@ -1,13 +0,0 @@
|
|||||||
namespace DatabaseCore
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Работа с БД
|
|
||||||
/// </summary>
|
|
||||||
public static class DatabaseManager
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Получение объекта от класса DbContext
|
|
||||||
/// </summary>
|
|
||||||
public static DatabaseContext GetContext => new();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,211 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210326072923_AddSecurityModels")]
|
|
||||||
partial class AddSecurityModels
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Operation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLocked")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid?>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("StudentId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,146 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddSecurityModels : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "EnviromentSettings",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Key = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
Value = table.Column<string>(type: "nvarchar(max)", nullable: true)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_EnviromentSettings", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Roles",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
RoleName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
RolePriority = table.Column<int>(type: "int", nullable: false),
|
|
||||||
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_Roles", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Users",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
UserName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
PasswordHash = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
StudentId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
LecturerId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
Avatar = table.Column<byte[]>(type: "varbinary(max)", nullable: true),
|
|
||||||
DateLastVisit = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
IsBanned = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
DateBanned = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
CountAttempt = table.Column<int>(type: "int", nullable: false),
|
|
||||||
DateLocked = table.Column<DateTime>(type: "datetime2", 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_Users", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Accesses",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Operation = table.Column<int>(type: "int", nullable: false),
|
|
||||||
AccessType = table.Column<int>(type: "int", nullable: false),
|
|
||||||
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_Accesses", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Accesses_Roles_RoleId",
|
|
||||||
column: x => x.RoleId,
|
|
||||||
principalTable: "Roles",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "UserRoles",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
RoleId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_UserRoles", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_UserRoles_Roles_RoleId",
|
|
||||||
column: x => x.RoleId,
|
|
||||||
principalTable: "Roles",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_UserRoles_Users_UserId",
|
|
||||||
column: x => x.UserId,
|
|
||||||
principalTable: "Users",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Accesses_RoleId",
|
|
||||||
table: "Accesses",
|
|
||||||
column: "RoleId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_UserRoles_RoleId",
|
|
||||||
table: "UserRoles",
|
|
||||||
column: "RoleId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_UserRoles_UserId",
|
|
||||||
table: "UserRoles",
|
|
||||||
column: "UserId");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Accesses");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "EnviromentSettings");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "UserRoles");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Roles");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Users");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,217 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210327194001_ChangeSecurityFields")]
|
|
||||||
partial class ChangeSecurityFields
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid?>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("StudentId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,66 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class ChangeSecurityFields : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "DateLocked",
|
|
||||||
table: "Users");
|
|
||||||
|
|
||||||
migrationBuilder.RenameColumn(
|
|
||||||
name: "Operation",
|
|
||||||
table: "Accesses",
|
|
||||||
newName: "AccessOperation");
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<DateTime>(
|
|
||||||
name: "DateCreate",
|
|
||||||
table: "UserRoles",
|
|
||||||
type: "datetime2",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<DateTime>(
|
|
||||||
name: "DateDelete",
|
|
||||||
table: "UserRoles",
|
|
||||||
type: "datetime2",
|
|
||||||
nullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<bool>(
|
|
||||||
name: "IsDeleted",
|
|
||||||
table: "UserRoles",
|
|
||||||
type: "bit",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: false);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "DateCreate",
|
|
||||||
table: "UserRoles");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "DateDelete",
|
|
||||||
table: "UserRoles");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "IsDeleted",
|
|
||||||
table: "UserRoles");
|
|
||||||
|
|
||||||
migrationBuilder.RenameColumn(
|
|
||||||
name: "AccessOperation",
|
|
||||||
table: "Accesses",
|
|
||||||
newName: "Operation");
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<DateTime>(
|
|
||||||
name: "DateLocked",
|
|
||||||
table: "Users",
|
|
||||||
type: "datetime2",
|
|
||||||
nullable: true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,220 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210328165041_AddDescriptionInEnviromentSettings")]
|
|
||||||
partial class AddDescriptionInEnviromentSettings
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid?>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("StudentId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddDescriptionInEnviromentSettings : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "Description",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Description",
|
|
||||||
table: "EnviromentSettings");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,216 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210401105731_UpdateSecurityModels")]
|
|
||||||
partial class UpdateSecurityModels
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,90 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class UpdateSecurityModels : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "EmployeeId",
|
|
||||||
table: "Users");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "LecturerId",
|
|
||||||
table: "Users");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "StudentId",
|
|
||||||
table: "Users");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "Value",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: "",
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "Key",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: "",
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EnviromentSettings_Key",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
column: "Key",
|
|
||||||
unique: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_EnviromentSettings_Key",
|
|
||||||
table: "EnviromentSettings");
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "EmployeeId",
|
|
||||||
table: "Users",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "LecturerId",
|
|
||||||
table: "Users",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "StudentId",
|
|
||||||
table: "Users",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "Value",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "Key",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,379 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210403054350_AddEmployee")]
|
|
||||||
partial class AddEmployee
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[RoleName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[UserName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,177 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddEmployee : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "UserName",
|
|
||||||
table: "Users",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "RoleName",
|
|
||||||
table: "Roles",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "EmployeePosts",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
EmployeePostName = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
Order = table.Column<int>(type: "int", nullable: false),
|
|
||||||
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_EmployeePosts", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Employees",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
FirstName = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
LastName = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
Patronymic = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
DateBirth = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
Address = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
Email = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
MobileNumber = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
HomeNumber = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
Description = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
Photo = table.Column<byte[]>(type: "varbinary(max)", nullable: true),
|
|
||||||
GroupElectricalSafety = 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_Employees", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "EmployeeEmployeePosts",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
EmployeePostId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Rate = table.Column<decimal>(type: "decimal(18,2)", nullable: false),
|
|
||||||
IsInternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
IsExternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
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_EmployeeEmployeePosts", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_EmployeeEmployeePosts_EmployeePosts_EmployeePostId",
|
|
||||||
column: x => x.EmployeePostId,
|
|
||||||
principalTable: "EmployeePosts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_EmployeeEmployeePosts_Employees_EmployeeId",
|
|
||||||
column: x => x.EmployeeId,
|
|
||||||
principalTable: "Employees",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Users_UserName",
|
|
||||||
table: "Users",
|
|
||||||
column: "UserName",
|
|
||||||
filter: "[UserName] IS NOT NULL");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Roles_RoleName",
|
|
||||||
table: "Roles",
|
|
||||||
column: "RoleName",
|
|
||||||
unique: true,
|
|
||||||
filter: "[RoleName] IS NOT NULL");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeeEmployeePosts_EmployeeId",
|
|
||||||
table: "EmployeeEmployeePosts",
|
|
||||||
column: "EmployeeId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeeEmployeePosts_EmployeePostId",
|
|
||||||
table: "EmployeeEmployeePosts",
|
|
||||||
column: "EmployeePostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeePosts_EmployeePostName",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
column: "EmployeePostName",
|
|
||||||
unique: true,
|
|
||||||
filter: "[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Employees_FirstName_LastName_Patronymic",
|
|
||||||
table: "Employees",
|
|
||||||
columns: new[] { "FirstName", "LastName", "Patronymic" },
|
|
||||||
unique: true,
|
|
||||||
filter: "[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "EmployeeEmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Employees");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Users_UserName",
|
|
||||||
table: "Users");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Roles_RoleName",
|
|
||||||
table: "Roles");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "UserName",
|
|
||||||
table: "Users",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "RoleName",
|
|
||||||
table: "Roles",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)",
|
|
||||||
oldNullable: true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,445 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210403090025_AddClassrooms")]
|
|
||||||
partial class AddClassrooms
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[RoleName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,78 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddClassrooms : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Users_UserName",
|
|
||||||
table: "Users");
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Classrooms",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Number = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
Title = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
ClassroomType = table.Column<int>(type: "int", nullable: false),
|
|
||||||
Square = table.Column<decimal>(type: "decimal(18,2)", nullable: false),
|
|
||||||
Capacity = table.Column<int>(type: "int", nullable: false),
|
|
||||||
SecurityCode = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
HaveProjector = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
Description = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
Photo = table.Column<byte[]>(type: "varbinary(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_Classrooms", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Classrooms_Employees_EmployeeId",
|
|
||||||
column: x => x.EmployeeId,
|
|
||||||
principalTable: "Employees",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Users_UserName",
|
|
||||||
table: "Users",
|
|
||||||
column: "UserName");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Classrooms_EmployeeId",
|
|
||||||
table: "Classrooms",
|
|
||||||
column: "EmployeeId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Classrooms_Number",
|
|
||||||
table: "Classrooms",
|
|
||||||
column: "Number",
|
|
||||||
unique: true,
|
|
||||||
filter: "[Number] IS NOT NULL");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Classrooms");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Users_UserName",
|
|
||||||
table: "Users");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Users_UserName",
|
|
||||||
table: "Users",
|
|
||||||
column: "UserName",
|
|
||||||
filter: "[UserName] IS NOT NULL");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,535 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210403143118_AddDisciplines")]
|
|
||||||
partial class AddDisciplines
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,154 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddDisciplines : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Roles_RoleName",
|
|
||||||
table: "Roles");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "UserName",
|
|
||||||
table: "Users",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: "",
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "PasswordHash",
|
|
||||||
table: "Users",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: "",
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "RoleName",
|
|
||||||
table: "Roles",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: "",
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "DisciplineBlocks",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Title = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
DisciplineBlockUseForGrouping = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
DisciplineBlockOrder = table.Column<int>(type: "int", nullable: false),
|
|
||||||
DisciplineBlockBlueAsteriskName = 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_DisciplineBlocks", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Disciplines",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
DisciplineBlockId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
DisciplineName = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
DisciplineShortName = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
DisciplineBlueAsteriskName = 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_Disciplines", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Disciplines_DisciplineBlocks_DisciplineBlockId",
|
|
||||||
column: x => x.DisciplineBlockId,
|
|
||||||
principalTable: "DisciplineBlocks",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Roles_RoleName",
|
|
||||||
table: "Roles",
|
|
||||||
column: "RoleName",
|
|
||||||
unique: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_DisciplineBlocks_Title",
|
|
||||||
table: "DisciplineBlocks",
|
|
||||||
column: "Title",
|
|
||||||
unique: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Disciplines_DisciplineBlockId",
|
|
||||||
table: "Disciplines",
|
|
||||||
column: "DisciplineBlockId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Disciplines_DisciplineName",
|
|
||||||
table: "Disciplines",
|
|
||||||
column: "DisciplineName",
|
|
||||||
unique: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Disciplines");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "DisciplineBlocks");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Roles_RoleName",
|
|
||||||
table: "Roles");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "UserName",
|
|
||||||
table: "Users",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "PasswordHash",
|
|
||||||
table: "Users",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "RoleName",
|
|
||||||
table: "Roles",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Roles_RoleName",
|
|
||||||
table: "Roles",
|
|
||||||
column: "RoleName",
|
|
||||||
unique: true,
|
|
||||||
filter: "[RoleName] IS NOT NULL");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,829 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210403180333_AddLecturers")]
|
|
||||||
partial class AddLecturers
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerPostName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerPost", "LecturerPost")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerPostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPost");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,239 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddLecturers : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "LecturerAcademicDegrees",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
LecturerAcademicDegreeName = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
Order = table.Column<int>(type: "int", nullable: false),
|
|
||||||
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_LecturerAcademicDegrees", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "LecturerAcademicRanks",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
LecturerAcademicRankName = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
Order = table.Column<int>(type: "int", nullable: false),
|
|
||||||
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_LecturerAcademicRanks", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "LecturerPosts",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
LecturerPostName = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
Hours = table.Column<int>(type: "int", nullable: false),
|
|
||||||
Order = table.Column<int>(type: "int", nullable: false),
|
|
||||||
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_LecturerPosts", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Lecturers",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
LecturerPostId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
LecturerPostRate = table.Column<decimal>(type: "decimal(18,2)", nullable: false),
|
|
||||||
LecturerAcademicRankId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
LecturerAcademicDegreeId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
LastName = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
FirstName = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
Patronymic = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
DateBirth = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
Address = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
||||||
Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
||||||
MobileNumber = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
||||||
HomeNumber = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
Description = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
|
||||||
Photo = table.Column<byte[]>(type: "varbinary(max)", nullable: true),
|
|
||||||
GroupElectricalSafety = 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_Lecturers", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Lecturers_LecturerAcademicDegrees_LecturerAcademicDegreeId",
|
|
||||||
column: x => x.LecturerAcademicDegreeId,
|
|
||||||
principalTable: "LecturerAcademicDegrees",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Restrict);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Lecturers_LecturerAcademicRanks_LecturerAcademicRankId",
|
|
||||||
column: x => x.LecturerAcademicRankId,
|
|
||||||
principalTable: "LecturerAcademicRanks",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Restrict);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Lecturers_LecturerPosts_LecturerPostId",
|
|
||||||
column: x => x.LecturerPostId,
|
|
||||||
principalTable: "LecturerPosts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Lecturers_Users_UserId",
|
|
||||||
column: x => x.UserId,
|
|
||||||
principalTable: "Users",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "LecturerEmployeePosts",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
LecturerId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
EmployeePostId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Rate = table.Column<decimal>(type: "decimal(18,2)", nullable: false),
|
|
||||||
IsInternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
IsExternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
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_LecturerEmployeePosts", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_LecturerEmployeePosts_EmployeePosts_EmployeePostId",
|
|
||||||
column: x => x.EmployeePostId,
|
|
||||||
principalTable: "EmployeePosts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_LecturerEmployeePosts_Lecturers_LecturerId",
|
|
||||||
column: x => x.LecturerId,
|
|
||||||
principalTable: "Lecturers",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Employees_UserId",
|
|
||||||
table: "Employees",
|
|
||||||
column: "UserId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerAcademicDegrees_LecturerAcademicDegreeName",
|
|
||||||
table: "LecturerAcademicDegrees",
|
|
||||||
column: "LecturerAcademicDegreeName",
|
|
||||||
unique: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerAcademicRanks_LecturerAcademicRankName",
|
|
||||||
table: "LecturerAcademicRanks",
|
|
||||||
column: "LecturerAcademicRankName",
|
|
||||||
unique: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerEmployeePosts_EmployeePostId",
|
|
||||||
table: "LecturerEmployeePosts",
|
|
||||||
column: "EmployeePostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerEmployeePosts_LecturerId",
|
|
||||||
table: "LecturerEmployeePosts",
|
|
||||||
column: "LecturerId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerPosts_LecturerPostName",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
column: "LecturerPostName",
|
|
||||||
unique: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Lecturers_FirstName_LastName_Patronymic",
|
|
||||||
table: "Lecturers",
|
|
||||||
columns: new[] { "FirstName", "LastName", "Patronymic" },
|
|
||||||
unique: true,
|
|
||||||
filter: "[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Lecturers_LecturerAcademicDegreeId",
|
|
||||||
table: "Lecturers",
|
|
||||||
column: "LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Lecturers_LecturerAcademicRankId",
|
|
||||||
table: "Lecturers",
|
|
||||||
column: "LecturerAcademicRankId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Lecturers_LecturerPostId",
|
|
||||||
table: "Lecturers",
|
|
||||||
column: "LecturerPostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Lecturers_UserId",
|
|
||||||
table: "Lecturers",
|
|
||||||
column: "UserId");
|
|
||||||
|
|
||||||
migrationBuilder.AddForeignKey(
|
|
||||||
name: "FK_Employees_Users_UserId",
|
|
||||||
table: "Employees",
|
|
||||||
column: "UserId",
|
|
||||||
principalTable: "Users",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropForeignKey(
|
|
||||||
name: "FK_Employees_Users_UserId",
|
|
||||||
table: "Employees");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "LecturerEmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Lecturers");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "LecturerAcademicDegrees");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "LecturerAcademicRanks");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Employees_UserId",
|
|
||||||
table: "Employees");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,832 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210404053131_AddLecturerAcademicDegreeDiscription")]
|
|
||||||
partial class AddLecturerAcademicDegreeDiscription
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerPostName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerPost", "LecturerPost")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerPostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPost");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddLecturerAcademicDegreeDiscription : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "Description",
|
|
||||||
table: "LecturerAcademicDegrees",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Description",
|
|
||||||
table: "LecturerAcademicDegrees");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,835 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210404065039_AddDiciplineDescription")]
|
|
||||||
partial class AddDiciplineDescription
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerPostName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerPost", "LecturerPost")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerPostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPost");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddDiciplineDescription : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "Description",
|
|
||||||
table: "Disciplines",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Description",
|
|
||||||
table: "Disciplines");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,838 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210404070556_AddLecturer")]
|
|
||||||
partial class AddLecturer
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerPostName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerPost", "LecturerPost")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerPostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPost");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddLecturer : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "Abbreviation",
|
|
||||||
table: "Lecturers",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Abbreviation",
|
|
||||||
table: "Lecturers");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,841 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210404070734_AddLecturerOnlyForPrivate")]
|
|
||||||
partial class AddLecturerOnlyForPrivate
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerPostName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerPost", "LecturerPost")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerPostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPost");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddLecturerOnlyForPrivate : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<bool>(
|
|
||||||
name: "OnlyForPrivate",
|
|
||||||
table: "Lecturers",
|
|
||||||
type: "bit",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: false);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "OnlyForPrivate",
|
|
||||||
table: "Lecturers");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,845 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210404170518_RemLecturerField")]
|
|
||||||
partial class RemLecturerField
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerPostName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerPost", "LecturerPost")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerPostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPost");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("LecturerEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("LecturerEmployeePosts")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
|
|
||||||
b.Navigation("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class RemLecturerField : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "GroupElectricalSafety",
|
|
||||||
table: "Lecturers");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "GroupElectricalSafety",
|
|
||||||
table: "Lecturers",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,854 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210405060128_AddEnviromentSettingsFields")]
|
|
||||||
partial class AddEnviromentSettingsFields
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("EmployeePostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeePostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeePostId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerPostName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerPostName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeeEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("EmployeeEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerPost", "LecturerPost")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerPostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPost");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerEmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.EmployeePost", "EmployeePost")
|
|
||||||
.WithMany("LecturerEmployeePosts")
|
|
||||||
.HasForeignKey("EmployeePostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("LecturerEmployeePosts")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("EmployeePost");
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeeEmployeePosts");
|
|
||||||
|
|
||||||
b.Navigation("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("LecturerEmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddEnviromentSettingsFields : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<DateTime>(
|
|
||||||
name: "DateCreate",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "datetime2",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<DateTime>(
|
|
||||||
name: "DateDelete",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "datetime2",
|
|
||||||
nullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<bool>(
|
|
||||||
name: "IsDeleted",
|
|
||||||
table: "EnviromentSettings",
|
|
||||||
type: "bit",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: false);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "DateCreate",
|
|
||||||
table: "EnviromentSettings");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "DateDelete",
|
|
||||||
table: "EnviromentSettings");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "IsDeleted",
|
|
||||||
table: "EnviromentSettings");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,810 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210405080239_RemLecturerPost")]
|
|
||||||
partial class RemLecturerPost
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int?>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<string>("PostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("PostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[PostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Posts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,419 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class RemLecturerPost : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropForeignKey(
|
|
||||||
name: "FK_Lecturers_LecturerPosts_LecturerPostId",
|
|
||||||
table: "Lecturers");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "EmployeeEmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "LecturerEmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Lecturers_LecturerPostId",
|
|
||||||
table: "Lecturers");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_LecturerPosts_LecturerPostName",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_EmployeePosts_EmployeePostName",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Hours",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "LecturerPostName",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Order",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "EmployeePostName",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Order",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<bool>(
|
|
||||||
name: "IsExternalCombination",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "bit",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: false);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<bool>(
|
|
||||||
name: "IsInternalCombination",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "bit",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: false);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "LecturerId",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "PostId",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<decimal>(
|
|
||||||
name: "Rate",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "decimal(18,2)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: 0m);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "EmployeeId",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<bool>(
|
|
||||||
name: "IsExternalCombination",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
type: "bit",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: false);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<bool>(
|
|
||||||
name: "IsInternalCombination",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
type: "bit",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: false);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "PostId",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<decimal>(
|
|
||||||
name: "Rate",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
type: "decimal(18,2)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: 0m);
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Posts",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
PostName = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
Hours = table.Column<int>(type: "int", nullable: true),
|
|
||||||
Order = table.Column<int>(type: "int", nullable: false),
|
|
||||||
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_Posts", x => x.Id);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerPosts_LecturerId",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
column: "LecturerId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerPosts_PostId",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
column: "PostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeePosts_EmployeeId",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
column: "EmployeeId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeePosts_PostId",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
column: "PostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Posts_PostName",
|
|
||||||
table: "Posts",
|
|
||||||
column: "PostName",
|
|
||||||
unique: true,
|
|
||||||
filter: "[PostName] IS NOT NULL");
|
|
||||||
|
|
||||||
migrationBuilder.AddForeignKey(
|
|
||||||
name: "FK_EmployeePosts_Employees_EmployeeId",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
column: "EmployeeId",
|
|
||||||
principalTable: "Employees",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
|
|
||||||
migrationBuilder.AddForeignKey(
|
|
||||||
name: "FK_EmployeePosts_Posts_PostId",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
column: "PostId",
|
|
||||||
principalTable: "Posts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
|
|
||||||
migrationBuilder.AddForeignKey(
|
|
||||||
name: "FK_LecturerPosts_Lecturers_LecturerId",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
column: "LecturerId",
|
|
||||||
principalTable: "Lecturers",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
|
|
||||||
migrationBuilder.AddForeignKey(
|
|
||||||
name: "FK_LecturerPosts_Posts_PostId",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
column: "PostId",
|
|
||||||
principalTable: "Posts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropForeignKey(
|
|
||||||
name: "FK_EmployeePosts_Employees_EmployeeId",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropForeignKey(
|
|
||||||
name: "FK_EmployeePosts_Posts_PostId",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropForeignKey(
|
|
||||||
name: "FK_LecturerPosts_Lecturers_LecturerId",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropForeignKey(
|
|
||||||
name: "FK_LecturerPosts_Posts_PostId",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Posts");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_LecturerPosts_LecturerId",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_LecturerPosts_PostId",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_EmployeePosts_EmployeeId",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_EmployeePosts_PostId",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "IsExternalCombination",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "IsInternalCombination",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "LecturerId",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "PostId",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Rate",
|
|
||||||
table: "LecturerPosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "EmployeeId",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "IsExternalCombination",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "IsInternalCombination",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "PostId",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "Rate",
|
|
||||||
table: "EmployeePosts");
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<int>(
|
|
||||||
name: "Hours",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "int",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: 0);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "LecturerPostName",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: "");
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<int>(
|
|
||||||
name: "Order",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
type: "int",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: 0);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "EmployeePostName",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<int>(
|
|
||||||
name: "Order",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
type: "int",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: 0);
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "EmployeeEmployeePosts",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
DateCreate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
DateDelete = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
EmployeePostId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
IsExternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
IsInternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
Rate = table.Column<decimal>(type: "decimal(18,2)", nullable: false)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_EmployeeEmployeePosts", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_EmployeeEmployeePosts_EmployeePosts_EmployeePostId",
|
|
||||||
column: x => x.EmployeePostId,
|
|
||||||
principalTable: "EmployeePosts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_EmployeeEmployeePosts_Employees_EmployeeId",
|
|
||||||
column: x => x.EmployeeId,
|
|
||||||
principalTable: "Employees",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "LecturerEmployeePosts",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
DateCreate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
DateDelete = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
EmployeePostId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
IsExternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
IsInternalCombination = table.Column<bool>(type: "bit", nullable: false),
|
|
||||||
LecturerId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Rate = table.Column<decimal>(type: "decimal(18,2)", nullable: false)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_LecturerEmployeePosts", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_LecturerEmployeePosts_EmployeePosts_EmployeePostId",
|
|
||||||
column: x => x.EmployeePostId,
|
|
||||||
principalTable: "EmployeePosts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_LecturerEmployeePosts_Lecturers_LecturerId",
|
|
||||||
column: x => x.LecturerId,
|
|
||||||
principalTable: "Lecturers",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Lecturers_LecturerPostId",
|
|
||||||
table: "Lecturers",
|
|
||||||
column: "LecturerPostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerPosts_LecturerPostName",
|
|
||||||
table: "LecturerPosts",
|
|
||||||
column: "LecturerPostName",
|
|
||||||
unique: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeePosts_EmployeePostName",
|
|
||||||
table: "EmployeePosts",
|
|
||||||
column: "EmployeePostName",
|
|
||||||
unique: true,
|
|
||||||
filter: "[EmployeePostName] IS NOT NULL");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeeEmployeePosts_EmployeeId",
|
|
||||||
table: "EmployeeEmployeePosts",
|
|
||||||
column: "EmployeeId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EmployeeEmployeePosts_EmployeePostId",
|
|
||||||
table: "EmployeeEmployeePosts",
|
|
||||||
column: "EmployeePostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerEmployeePosts_EmployeePostId",
|
|
||||||
table: "LecturerEmployeePosts",
|
|
||||||
column: "EmployeePostId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_LecturerEmployeePosts_LecturerId",
|
|
||||||
table: "LecturerEmployeePosts",
|
|
||||||
column: "LecturerId");
|
|
||||||
|
|
||||||
migrationBuilder.AddForeignKey(
|
|
||||||
name: "FK_Lecturers_LecturerPosts_LecturerPostId",
|
|
||||||
table: "Lecturers",
|
|
||||||
column: "LecturerPostId",
|
|
||||||
principalTable: "LecturerPosts",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,813 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210405082110_AddFieldToLecturer")]
|
|
||||||
partial class AddFieldToLecturer
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerPostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("LecturerPostRate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int?>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<string>("PostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("PostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[PostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Posts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddFieldToLecturer : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<string>(
|
|
||||||
name: "GroupElectricalSafety",
|
|
||||||
table: "Lecturers",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "GroupElectricalSafety",
|
|
||||||
table: "Lecturers");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,807 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210405082213_RemFieldToLecturer")]
|
|
||||||
partial class RemFieldToLecturer
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Number] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int?>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<string>("PostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("PostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[PostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Posts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class RemFieldToLecturer : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "LecturerPostId",
|
|
||||||
table: "Lecturers");
|
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
|
||||||
name: "LecturerPostRate",
|
|
||||||
table: "Lecturers");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AddColumn<Guid>(
|
|
||||||
name: "LecturerPostId",
|
|
||||||
table: "Lecturers",
|
|
||||||
type: "uniqueidentifier",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
|
||||||
|
|
||||||
migrationBuilder.AddColumn<decimal>(
|
|
||||||
name: "LecturerPostRate",
|
|
||||||
table: "Lecturers",
|
|
||||||
type: "decimal(18,2)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: 0m);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,870 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210405091403_AddEducationDirection")]
|
|
||||||
partial class AddEducationDirection
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EducationDirection", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Cipher")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Profile")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Qualification")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("ShortName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.HasIndex("Title", "Profile")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Profile] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EducationDirections");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int?>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<string>("PostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("PostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[PostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Posts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EducationDirection", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("EducationDirections")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EducationDirections");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class AddEducationDirection : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Classrooms_Number",
|
|
||||||
table: "Classrooms");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "Number",
|
|
||||||
table: "Classrooms",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: false,
|
|
||||||
defaultValue: "",
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)",
|
|
||||||
oldNullable: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "EducationDirections",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Cipher = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
||||||
ShortName = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
||||||
Title = table.Column<string>(type: "nvarchar(450)", nullable: false),
|
|
||||||
Profile = table.Column<string>(type: "nvarchar(450)", nullable: true),
|
|
||||||
Qualification = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
||||||
LecturerId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Description = 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_EducationDirections", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_EducationDirections_Lecturers_LecturerId",
|
|
||||||
column: x => x.LecturerId,
|
|
||||||
principalTable: "Lecturers",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Classrooms_Number",
|
|
||||||
table: "Classrooms",
|
|
||||||
column: "Number",
|
|
||||||
unique: true);
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EducationDirections_LecturerId",
|
|
||||||
table: "EducationDirections",
|
|
||||||
column: "LecturerId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_EducationDirections_Title_Profile",
|
|
||||||
table: "EducationDirections",
|
|
||||||
columns: new[] { "Title", "Profile" },
|
|
||||||
unique: true,
|
|
||||||
filter: "[Profile] IS NOT NULL");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "EducationDirections");
|
|
||||||
|
|
||||||
migrationBuilder.DropIndex(
|
|
||||||
name: "IX_Classrooms_Number",
|
|
||||||
table: "Classrooms");
|
|
||||||
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "Number",
|
|
||||||
table: "Classrooms",
|
|
||||||
type: "nvarchar(450)",
|
|
||||||
nullable: true,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(450)");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Classrooms_Number",
|
|
||||||
table: "Classrooms",
|
|
||||||
column: "Number",
|
|
||||||
unique: true,
|
|
||||||
filter: "[Number] IS NOT NULL");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,869 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using DatabaseCore;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(DatabaseContext))]
|
|
||||||
[Migration("20210405095913_UPdFieldEducationDirection")]
|
|
||||||
partial class UPdFieldEducationDirection
|
|
||||||
{
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
||||||
.HasAnnotation("ProductVersion", "5.0.4")
|
|
||||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("Capacity")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("ClassroomType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("HaveProjector")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Number")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<string>("SecurityCode")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<decimal>("Square")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("Number")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Classrooms");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("DisciplineBlockId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineShortName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineBlockId");
|
|
||||||
|
|
||||||
b.HasIndex("DisciplineName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("DisciplineBlockBlueAsteriskName")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<int>("DisciplineBlockOrder")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("DisciplineBlockUseForGrouping")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Title")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("DisciplineBlocks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EducationDirection", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Cipher")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Profile")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Qualification")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<string>("ShortName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.HasIndex("Title", "Profile")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Profile] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("EducationDirections");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[FirstName] IS NOT NULL AND [LastName] IS NOT NULL AND [Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Employees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<Guid>("EmployeeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("EmployeeId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("Abbreviation")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Address")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateBirth")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("Email")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("FirstName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("GroupElectricalSafety")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("HomeNumber")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicDegreeId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid?>("LecturerAcademicRankId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<string>("MobileNumber")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("OnlyForPrivate")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Patronymic")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Photo")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.HasIndex("FirstName", "LastName", "Patronymic")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[Patronymic] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicDegreeName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicDegreeName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicDegrees");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("LecturerAcademicRankName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerAcademicRankName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("LecturerAcademicRanks");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsExternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsInternalCombination")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("LecturerId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("PostId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<decimal>("Rate")
|
|
||||||
.HasColumnType("decimal(18,2)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("LecturerId");
|
|
||||||
|
|
||||||
b.HasIndex("PostId");
|
|
||||||
|
|
||||||
b.ToTable("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<int?>("Hours")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<int>("Order")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<string>("PostName")
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("PostName")
|
|
||||||
.IsUnique()
|
|
||||||
.HasFilter("[PostName] IS NOT NULL");
|
|
||||||
|
|
||||||
b.ToTable("Posts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<int>("AccessOperation")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("AccessType")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.ToTable("Accesses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.EnviromentSetting", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<string>("Description")
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("Key")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<string>("Value")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("Key")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("EnviromentSettings");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("RoleName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.Property<int>("RolePriority")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleName")
|
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Roles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<byte[]>("Avatar")
|
|
||||||
.HasColumnType("varbinary(max)");
|
|
||||||
|
|
||||||
b.Property<int>("CountAttempt")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateBanned")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateLastVisit")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsBanned")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<string>("PasswordHash")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(max)");
|
|
||||||
|
|
||||||
b.Property<string>("UserName")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("nvarchar(450)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("UserName");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<DateTime>("DateCreate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<DateTime?>("DateDelete")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b.Property<bool>("IsDeleted")
|
|
||||||
.HasColumnType("bit");
|
|
||||||
|
|
||||||
b.Property<Guid>("RoleId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.Property<Guid>("UserId")
|
|
||||||
.HasColumnType("uniqueidentifier");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.HasIndex("RoleId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
|
||||||
|
|
||||||
b.ToTable("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Classroom", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("Classrooms")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Discipline", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.DisciplineBlock", "DisciplineBlock")
|
|
||||||
.WithMany("Disciplines")
|
|
||||||
.HasForeignKey("DisciplineBlockId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("DisciplineBlock");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EducationDirection", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("EducationDirections")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Employees")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.EmployeePost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Employee", "Employee")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("EmployeeId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("EmployeePosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Employee");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicDegree", "LecturerAcademicDegree")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicDegreeId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.LecturerAcademicRank", "LecturerAcademicRank")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("LecturerAcademicRankId");
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("Lecturers")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicDegree");
|
|
||||||
|
|
||||||
b.Navigation("LecturerAcademicRank");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerPost", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Lecturer", "Lecturer")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("LecturerId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Department.Post", "Post")
|
|
||||||
.WithMany("LecturerPosts")
|
|
||||||
.HasForeignKey("PostId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Lecturer");
|
|
||||||
|
|
||||||
b.Navigation("Post");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Access", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("Access")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.UserRole", b =>
|
|
||||||
{
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.Role", "Role")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("RoleId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.HasOne("DatabaseCore.Models.Security.User", "User")
|
|
||||||
.WithMany("UserRoles")
|
|
||||||
.HasForeignKey("UserId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Role");
|
|
||||||
|
|
||||||
b.Navigation("User");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.DisciplineBlock", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Disciplines");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Employee", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Classrooms");
|
|
||||||
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Lecturer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EducationDirections");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicDegree", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.LecturerAcademicRank", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Department.Post", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("EmployeePosts");
|
|
||||||
|
|
||||||
b.Navigation("LecturerPosts");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.Role", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Access");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("DatabaseCore.Models.Security.User", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Employees");
|
|
||||||
|
|
||||||
b.Navigation("Lecturers");
|
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
namespace DatabaseCore.Migrations
|
|
||||||
{
|
|
||||||
public partial class UPdFieldEducationDirection : Migration
|
|
||||||
{
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AlterColumn<int>(
|
|
||||||
name: "Qualification",
|
|
||||||
table: "EducationDirections",
|
|
||||||
type: "int",
|
|
||||||
nullable: false,
|
|
||||||
oldClrType: typeof(string),
|
|
||||||
oldType: "nvarchar(max)");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.AlterColumn<string>(
|
|
||||||
name: "Qualification",
|
|
||||||
table: "EducationDirections",
|
|
||||||
type: "nvarchar(max)",
|
|
||||||
nullable: false,
|
|
||||||
oldClrType: typeof(int),
|
|
||||||
oldType: "int");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user