From 3ca8f0c7d2216e74e9729f4b9bd432130df5fc01 Mon Sep 17 00:00:00 2001
From: MaxKarme <91691525+MaxKarme@users.noreply.github.com>
Date: Sun, 2 Apr 2023 16:39:43 +0400
Subject: [PATCH] add models and contracts
---
University/University.sln | 14 +++++++++++++-
.../BindingModels/ActivityBindingModel.cs | 11 +++++++++++
.../BindingModels/DisciplineBindingModel.cs | 11 +++++++++++
.../ExaminationResultBindingModel.cs | 13 +++++++++++++
.../BindingModels/ReportTypeBindingModel.cs | 10 ++++++++++
.../BindingModels/StatementBindingModel.cs | 11 +++++++++++
.../BindingModels/StudentBindingModel.cs | 11 +++++++++++
.../BuisnessLogicContracts/IActivityLogic.cs | 8 ++++++++
.../BuisnessLogicContracts/IDisciplineLogic.cs | 9 +++++++++
.../IExaminationResultLogic.cs | 8 ++++++++
.../BuisnessLogicContracts/IReportTypeLogic.cs | 9 +++++++++
.../BuisnessLogicContracts/IStatementLogic.cs | 8 ++++++++
.../BuisnessLogicContracts/IStudentLogic.cs | 8 ++++++++
.../SearchModels/ActivitySearchModel.cs | 11 +++++++++++
.../SearchModels/DisciplineSearchModel.cs | 11 +++++++++++
.../ExaminationResultSearchModel.cs | 13 +++++++++++++
.../SearchModels/ReportTypeSearchModel.cs | 10 ++++++++++
.../SearchModels/StatementSearchModel.cs | 11 +++++++++++
.../SearchModels/StudentSearchModel.cs | 11 +++++++++++
.../StoragesContracts/IActivityStorage.cs | 8 ++++++++
.../StoragesContracts/IDisciplineStorage.cs | 8 ++++++++
.../IExaminationResultStorage.cs | 8 ++++++++
.../StoragesContracts/IReportTypeStorage.cs | 8 ++++++++
.../StoragesContracts/IStatementStorage.cs | 8 ++++++++
.../StoragesContracts/IStudentStorage.cs | 8 ++++++++
.../UniversityContracts.csproj | 13 +++++++++++++
.../ViewModels/ActivityViewModel.cs | 11 +++++++++++
.../ViewModels/DisciplineViewModel.cs | 11 +++++++++++
.../ViewModels/ExaminationResultSearchModel.cs | 13 +++++++++++++
.../ViewModels/ReportTypeViewModel.cs | 10 ++++++++++
.../ViewModels/StatementViewModel.cs | 11 +++++++++++
.../ViewModels/StudentViewModel.cs | 11 +++++++++++
.../UniversityDataModels/Enums/MarkType.cs | 17 +++++++++++++++++
University/UniversityDataModels/IId.cs | 7 +++++++
.../Models/IActivityModel.cs | 8 ++++++++
.../Models/IDisciplineModel.cs | 8 ++++++++
.../Models/IExaminationResultModel.cs | 10 ++++++++++
.../Models/IReportTypeModel.cs | 7 +++++++
.../Models/IStatementModel.cs | 8 ++++++++
.../Models/IStudentModel.cs | 8 ++++++++
.../UniversityDataModels.csproj | 9 +++++++++
41 files changed, 407 insertions(+), 1 deletion(-)
create mode 100644 University/UniversityContracts/BindingModels/ActivityBindingModel.cs
create mode 100644 University/UniversityContracts/BindingModels/DisciplineBindingModel.cs
create mode 100644 University/UniversityContracts/BindingModels/ExaminationResultBindingModel.cs
create mode 100644 University/UniversityContracts/BindingModels/ReportTypeBindingModel.cs
create mode 100644 University/UniversityContracts/BindingModels/StatementBindingModel.cs
create mode 100644 University/UniversityContracts/BindingModels/StudentBindingModel.cs
create mode 100644 University/UniversityContracts/BuisnessLogicContracts/IActivityLogic.cs
create mode 100644 University/UniversityContracts/BuisnessLogicContracts/IDisciplineLogic.cs
create mode 100644 University/UniversityContracts/BuisnessLogicContracts/IExaminationResultLogic.cs
create mode 100644 University/UniversityContracts/BuisnessLogicContracts/IReportTypeLogic.cs
create mode 100644 University/UniversityContracts/BuisnessLogicContracts/IStatementLogic.cs
create mode 100644 University/UniversityContracts/BuisnessLogicContracts/IStudentLogic.cs
create mode 100644 University/UniversityContracts/SearchModels/ActivitySearchModel.cs
create mode 100644 University/UniversityContracts/SearchModels/DisciplineSearchModel.cs
create mode 100644 University/UniversityContracts/SearchModels/ExaminationResultSearchModel.cs
create mode 100644 University/UniversityContracts/SearchModels/ReportTypeSearchModel.cs
create mode 100644 University/UniversityContracts/SearchModels/StatementSearchModel.cs
create mode 100644 University/UniversityContracts/SearchModels/StudentSearchModel.cs
create mode 100644 University/UniversityContracts/StoragesContracts/IActivityStorage.cs
create mode 100644 University/UniversityContracts/StoragesContracts/IDisciplineStorage.cs
create mode 100644 University/UniversityContracts/StoragesContracts/IExaminationResultStorage.cs
create mode 100644 University/UniversityContracts/StoragesContracts/IReportTypeStorage.cs
create mode 100644 University/UniversityContracts/StoragesContracts/IStatementStorage.cs
create mode 100644 University/UniversityContracts/StoragesContracts/IStudentStorage.cs
create mode 100644 University/UniversityContracts/UniversityContracts.csproj
create mode 100644 University/UniversityContracts/ViewModels/ActivityViewModel.cs
create mode 100644 University/UniversityContracts/ViewModels/DisciplineViewModel.cs
create mode 100644 University/UniversityContracts/ViewModels/ExaminationResultSearchModel.cs
create mode 100644 University/UniversityContracts/ViewModels/ReportTypeViewModel.cs
create mode 100644 University/UniversityContracts/ViewModels/StatementViewModel.cs
create mode 100644 University/UniversityContracts/ViewModels/StudentViewModel.cs
create mode 100644 University/UniversityDataModels/Enums/MarkType.cs
create mode 100644 University/UniversityDataModels/IId.cs
create mode 100644 University/UniversityDataModels/Models/IActivityModel.cs
create mode 100644 University/UniversityDataModels/Models/IDisciplineModel.cs
create mode 100644 University/UniversityDataModels/Models/IExaminationResultModel.cs
create mode 100644 University/UniversityDataModels/Models/IReportTypeModel.cs
create mode 100644 University/UniversityDataModels/Models/IStatementModel.cs
create mode 100644 University/UniversityDataModels/Models/IStudentModel.cs
create mode 100644 University/UniversityDataModels/UniversityDataModels.csproj
diff --git a/University/University.sln b/University/University.sln
index 620ab4a..3f08cdf 100644
--- a/University/University.sln
+++ b/University/University.sln
@@ -3,7 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32319.34
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "University", "University\University.csproj", "{34B9CDDB-BFE5-48B9-AA3A-1A01D99A765D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "University", "University\University.csproj", "{34B9CDDB-BFE5-48B9-AA3A-1A01D99A765D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversityDataModels", "UniversityDataModels\UniversityDataModels.csproj", "{36B2DE4B-7689-4287-911E-892FCD27AE84}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversityContracts", "UniversityContracts\UniversityContracts.csproj", "{BACEFD46-1073-4730-BC42-15B0D0D359C9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +19,14 @@ Global
{34B9CDDB-BFE5-48B9-AA3A-1A01D99A765D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{34B9CDDB-BFE5-48B9-AA3A-1A01D99A765D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{34B9CDDB-BFE5-48B9-AA3A-1A01D99A765D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {36B2DE4B-7689-4287-911E-892FCD27AE84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {36B2DE4B-7689-4287-911E-892FCD27AE84}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {36B2DE4B-7689-4287-911E-892FCD27AE84}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {36B2DE4B-7689-4287-911E-892FCD27AE84}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BACEFD46-1073-4730-BC42-15B0D0D359C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BACEFD46-1073-4730-BC42-15B0D0D359C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BACEFD46-1073-4730-BC42-15B0D0D359C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BACEFD46-1073-4730-BC42-15B0D0D359C9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/University/UniversityContracts/BindingModels/ActivityBindingModel.cs b/University/UniversityContracts/BindingModels/ActivityBindingModel.cs
new file mode 100644
index 0000000..2c03e22
--- /dev/null
+++ b/University/UniversityContracts/BindingModels/ActivityBindingModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BindingModels
+{
+ public class ActivityBindingModel : IActivityModel
+ {
+ public int Id { get; }
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ public int Number { get; }
+ }
+}
diff --git a/University/UniversityContracts/BindingModels/DisciplineBindingModel.cs b/University/UniversityContracts/BindingModels/DisciplineBindingModel.cs
new file mode 100644
index 0000000..8e4db01
--- /dev/null
+++ b/University/UniversityContracts/BindingModels/DisciplineBindingModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BindingModels
+{
+ public class DisciplineBindingModel : IDisciplineModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ public string Department { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/BindingModels/ExaminationResultBindingModel.cs b/University/UniversityContracts/BindingModels/ExaminationResultBindingModel.cs
new file mode 100644
index 0000000..d4ec633
--- /dev/null
+++ b/University/UniversityContracts/BindingModels/ExaminationResultBindingModel.cs
@@ -0,0 +1,13 @@
+using UniversityDataModels.Enums;
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BindingModels
+{
+ public class ExaminationResultBindingModel : IExaminationResultModel
+ {
+ public int Id { get; }
+ public string ExaminationForm { get; } = String.Empty;
+ public MarkType Mark { get; } = MarkType.Неизвестен;
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ }
+}
diff --git a/University/UniversityContracts/BindingModels/ReportTypeBindingModel.cs b/University/UniversityContracts/BindingModels/ReportTypeBindingModel.cs
new file mode 100644
index 0000000..92a2f30
--- /dev/null
+++ b/University/UniversityContracts/BindingModels/ReportTypeBindingModel.cs
@@ -0,0 +1,10 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BindingModels
+{
+ public class ReportTypeBindingModel : IReportTypeModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/BindingModels/StatementBindingModel.cs b/University/UniversityContracts/BindingModels/StatementBindingModel.cs
new file mode 100644
index 0000000..7e9201e
--- /dev/null
+++ b/University/UniversityContracts/BindingModels/StatementBindingModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BindingModels
+{
+ public class StatementBindingModel : IStatementModel
+ {
+ public int Id { get; }
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ public int HoursCount { get; }
+ }
+}
diff --git a/University/UniversityContracts/BindingModels/StudentBindingModel.cs b/University/UniversityContracts/BindingModels/StudentBindingModel.cs
new file mode 100644
index 0000000..eb0c952
--- /dev/null
+++ b/University/UniversityContracts/BindingModels/StudentBindingModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BindingModels
+{
+ public class StudentBindingModel : IStudentModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ public string RecordCardNumber { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/BuisnessLogicContracts/IActivityLogic.cs b/University/UniversityContracts/BuisnessLogicContracts/IActivityLogic.cs
new file mode 100644
index 0000000..8c663cd
--- /dev/null
+++ b/University/UniversityContracts/BuisnessLogicContracts/IActivityLogic.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BuisnessLogicContracts
+{
+ public interface IActivityLogic
+ {
+ }
+}
diff --git a/University/UniversityContracts/BuisnessLogicContracts/IDisciplineLogic.cs b/University/UniversityContracts/BuisnessLogicContracts/IDisciplineLogic.cs
new file mode 100644
index 0000000..360c2fd
--- /dev/null
+++ b/University/UniversityContracts/BuisnessLogicContracts/IDisciplineLogic.cs
@@ -0,0 +1,9 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BuisnessLogicContracts
+{
+
+ public interface IDisciplineLogic
+ {
+ }
+}
diff --git a/University/UniversityContracts/BuisnessLogicContracts/IExaminationResultLogic.cs b/University/UniversityContracts/BuisnessLogicContracts/IExaminationResultLogic.cs
new file mode 100644
index 0000000..e83817e
--- /dev/null
+++ b/University/UniversityContracts/BuisnessLogicContracts/IExaminationResultLogic.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BuisnessLogicContracts
+{
+ public interface IExaminationResultLogic
+ {
+ }
+}
diff --git a/University/UniversityContracts/BuisnessLogicContracts/IReportTypeLogic.cs b/University/UniversityContracts/BuisnessLogicContracts/IReportTypeLogic.cs
new file mode 100644
index 0000000..660fef4
--- /dev/null
+++ b/University/UniversityContracts/BuisnessLogicContracts/IReportTypeLogic.cs
@@ -0,0 +1,9 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BuisnessLogicContracts
+{
+
+ public interface IReportTypeLogic
+ {
+ }
+}
diff --git a/University/UniversityContracts/BuisnessLogicContracts/IStatementLogic.cs b/University/UniversityContracts/BuisnessLogicContracts/IStatementLogic.cs
new file mode 100644
index 0000000..94e7628
--- /dev/null
+++ b/University/UniversityContracts/BuisnessLogicContracts/IStatementLogic.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BuisnessLogicContracts
+{
+ public interface IStatementLogic
+ {
+ }
+}
diff --git a/University/UniversityContracts/BuisnessLogicContracts/IStudentLogic.cs b/University/UniversityContracts/BuisnessLogicContracts/IStudentLogic.cs
new file mode 100644
index 0000000..b103ef8
--- /dev/null
+++ b/University/UniversityContracts/BuisnessLogicContracts/IStudentLogic.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.BuisnessLogicContracts
+{
+ public interface IStudentLogic
+ {
+ }
+}
diff --git a/University/UniversityContracts/SearchModels/ActivitySearchModel.cs b/University/UniversityContracts/SearchModels/ActivitySearchModel.cs
new file mode 100644
index 0000000..c6c9007
--- /dev/null
+++ b/University/UniversityContracts/SearchModels/ActivitySearchModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.SearchModels
+{
+ public class ActivitySearchModel : IActivityModel
+ {
+ public int Id { get; }
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ public int Number { get; }
+ }
+}
diff --git a/University/UniversityContracts/SearchModels/DisciplineSearchModel.cs b/University/UniversityContracts/SearchModels/DisciplineSearchModel.cs
new file mode 100644
index 0000000..bbf0086
--- /dev/null
+++ b/University/UniversityContracts/SearchModels/DisciplineSearchModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.SearchModels
+{
+ public class DisciplineSearchModel : IDisciplineModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ public string Department { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/SearchModels/ExaminationResultSearchModel.cs b/University/UniversityContracts/SearchModels/ExaminationResultSearchModel.cs
new file mode 100644
index 0000000..9165a74
--- /dev/null
+++ b/University/UniversityContracts/SearchModels/ExaminationResultSearchModel.cs
@@ -0,0 +1,13 @@
+using UniversityDataModels.Enums;
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.SearchModels
+{
+ public class ExaminationResultSearchModel : IExaminationResultModel
+ {
+ public int Id { get; }
+ public string ExaminationForm { get; } = String.Empty;
+ public MarkType Mark { get; } = MarkType.Неизвестен;
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ }
+}
diff --git a/University/UniversityContracts/SearchModels/ReportTypeSearchModel.cs b/University/UniversityContracts/SearchModels/ReportTypeSearchModel.cs
new file mode 100644
index 0000000..14db649
--- /dev/null
+++ b/University/UniversityContracts/SearchModels/ReportTypeSearchModel.cs
@@ -0,0 +1,10 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.SearchModels
+{
+ public class ReportTypeSearchModel : IReportTypeModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/SearchModels/StatementSearchModel.cs b/University/UniversityContracts/SearchModels/StatementSearchModel.cs
new file mode 100644
index 0000000..e68da13
--- /dev/null
+++ b/University/UniversityContracts/SearchModels/StatementSearchModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.SearchModels
+{
+ public class StatementSearchModel : IStatementModel
+ {
+ public int Id { get; }
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ public int HoursCount { get; }
+ }
+}
diff --git a/University/UniversityContracts/SearchModels/StudentSearchModel.cs b/University/UniversityContracts/SearchModels/StudentSearchModel.cs
new file mode 100644
index 0000000..9ad18ba
--- /dev/null
+++ b/University/UniversityContracts/SearchModels/StudentSearchModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.SearchModels
+{
+ public class StudentSearchModel : IStudentModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ public string RecordCardNumber { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/StoragesContracts/IActivityStorage.cs b/University/UniversityContracts/StoragesContracts/IActivityStorage.cs
new file mode 100644
index 0000000..28c2329
--- /dev/null
+++ b/University/UniversityContracts/StoragesContracts/IActivityStorage.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.StoragesContracts
+{
+ public interface IActivityStorage
+ {
+ }
+}
diff --git a/University/UniversityContracts/StoragesContracts/IDisciplineStorage.cs b/University/UniversityContracts/StoragesContracts/IDisciplineStorage.cs
new file mode 100644
index 0000000..0c3e1d9
--- /dev/null
+++ b/University/UniversityContracts/StoragesContracts/IDisciplineStorage.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.StoragesContracts
+{
+ public interface IDisciplineStorage
+ {
+ }
+}
diff --git a/University/UniversityContracts/StoragesContracts/IExaminationResultStorage.cs b/University/UniversityContracts/StoragesContracts/IExaminationResultStorage.cs
new file mode 100644
index 0000000..1090c8c
--- /dev/null
+++ b/University/UniversityContracts/StoragesContracts/IExaminationResultStorage.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.StoragesContracts
+{
+ public interface IExaminationResultStorage
+ {
+ }
+}
diff --git a/University/UniversityContracts/StoragesContracts/IReportTypeStorage.cs b/University/UniversityContracts/StoragesContracts/IReportTypeStorage.cs
new file mode 100644
index 0000000..cb624e8
--- /dev/null
+++ b/University/UniversityContracts/StoragesContracts/IReportTypeStorage.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.StoragesContracts
+{
+ public interface IReportTypeStorage
+ {
+ }
+}
diff --git a/University/UniversityContracts/StoragesContracts/IStatementStorage.cs b/University/UniversityContracts/StoragesContracts/IStatementStorage.cs
new file mode 100644
index 0000000..e3dc4fd
--- /dev/null
+++ b/University/UniversityContracts/StoragesContracts/IStatementStorage.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.StoragesContracts
+{
+ public interface IStatementStorage
+ {
+ }
+}
diff --git a/University/UniversityContracts/StoragesContracts/IStudentStorage.cs b/University/UniversityContracts/StoragesContracts/IStudentStorage.cs
new file mode 100644
index 0000000..0fc67db
--- /dev/null
+++ b/University/UniversityContracts/StoragesContracts/IStudentStorage.cs
@@ -0,0 +1,8 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.StoragesContracts
+{
+ public interface IStudentStorage
+ {
+ }
+}
diff --git a/University/UniversityContracts/UniversityContracts.csproj b/University/UniversityContracts/UniversityContracts.csproj
new file mode 100644
index 0000000..d1c8a4a
--- /dev/null
+++ b/University/UniversityContracts/UniversityContracts.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/University/UniversityContracts/ViewModels/ActivityViewModel.cs b/University/UniversityContracts/ViewModels/ActivityViewModel.cs
new file mode 100644
index 0000000..83e412f
--- /dev/null
+++ b/University/UniversityContracts/ViewModels/ActivityViewModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.ViewModels
+{
+ public class ActivityViewModel : IActivityModel
+ {
+ public int Id { get; }
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ public int Number { get; }
+ }
+}
diff --git a/University/UniversityContracts/ViewModels/DisciplineViewModel.cs b/University/UniversityContracts/ViewModels/DisciplineViewModel.cs
new file mode 100644
index 0000000..e388e15
--- /dev/null
+++ b/University/UniversityContracts/ViewModels/DisciplineViewModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.ViewModels
+{
+ public class DisciplineViewModel : IDisciplineModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ public string Department { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/ViewModels/ExaminationResultSearchModel.cs b/University/UniversityContracts/ViewModels/ExaminationResultSearchModel.cs
new file mode 100644
index 0000000..3761885
--- /dev/null
+++ b/University/UniversityContracts/ViewModels/ExaminationResultSearchModel.cs
@@ -0,0 +1,13 @@
+using UniversityDataModels.Enums;
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.ViewModels
+{
+ public class ExaminationResultSearchModel : IExaminationResultModel
+ {
+ public int Id { get; }
+ public string ExaminationForm { get; } = String.Empty;
+ public MarkType Mark { get; } = MarkType.Неизвестен;
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ }
+}
diff --git a/University/UniversityContracts/ViewModels/ReportTypeViewModel.cs b/University/UniversityContracts/ViewModels/ReportTypeViewModel.cs
new file mode 100644
index 0000000..c52abb0
--- /dev/null
+++ b/University/UniversityContracts/ViewModels/ReportTypeViewModel.cs
@@ -0,0 +1,10 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.ViewModels
+{
+ public class ReportTypeViewModel : IReportTypeModel
+ {
+ public int Id { get; }
+ public string Name { get; } = String.Empty;
+ }
+}
diff --git a/University/UniversityContracts/ViewModels/StatementViewModel.cs b/University/UniversityContracts/ViewModels/StatementViewModel.cs
new file mode 100644
index 0000000..6df7c95
--- /dev/null
+++ b/University/UniversityContracts/ViewModels/StatementViewModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.ViewModels
+{
+ public class StatementViewModel : IStatementModel
+ {
+ public int Id { get; }
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ public int HoursCount { get; }
+ }
+}
diff --git a/University/UniversityContracts/ViewModels/StudentViewModel.cs b/University/UniversityContracts/ViewModels/StudentViewModel.cs
new file mode 100644
index 0000000..d59d84c
--- /dev/null
+++ b/University/UniversityContracts/ViewModels/StudentViewModel.cs
@@ -0,0 +1,11 @@
+using UniversityDataModels.Models;
+
+namespace UniversityContracts.ViewModels
+{
+ public class StudentViewModel : IStatementModel
+ {
+ public int Id { get; }
+ public DateTime Date { get; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
+ public int HoursCount { get; }
+ }
+}
diff --git a/University/UniversityDataModels/Enums/MarkType.cs b/University/UniversityDataModels/Enums/MarkType.cs
new file mode 100644
index 0000000..6ad9982
--- /dev/null
+++ b/University/UniversityDataModels/Enums/MarkType.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace UniversityDataModels.Enums
+{
+ public enum MarkType
+ {
+ Неизвестен = -1,
+ Плохо = 2,
+ Удовлетворительно = 3,
+ Хорошо = 4,
+ Отлично = 5
+ }
+}
diff --git a/University/UniversityDataModels/IId.cs b/University/UniversityDataModels/IId.cs
new file mode 100644
index 0000000..ef1cc9d
--- /dev/null
+++ b/University/UniversityDataModels/IId.cs
@@ -0,0 +1,7 @@
+namespace UniversityDataModels
+{
+ public interface IId
+ {
+ int Id { get; }
+ }
+}
diff --git a/University/UniversityDataModels/Models/IActivityModel.cs b/University/UniversityDataModels/Models/IActivityModel.cs
new file mode 100644
index 0000000..0cd21c0
--- /dev/null
+++ b/University/UniversityDataModels/Models/IActivityModel.cs
@@ -0,0 +1,8 @@
+namespace UniversityDataModels.Models
+{
+ public interface IActivityModel : IId
+ {
+ DateTime Date { get; }
+ int Number { get; }
+ }
+}
diff --git a/University/UniversityDataModels/Models/IDisciplineModel.cs b/University/UniversityDataModels/Models/IDisciplineModel.cs
new file mode 100644
index 0000000..a40373f
--- /dev/null
+++ b/University/UniversityDataModels/Models/IDisciplineModel.cs
@@ -0,0 +1,8 @@
+namespace UniversityDataModels.Models
+{
+ public interface IDisciplineModel : IId
+ {
+ String Name { get; }
+ String Department { get; }
+ }
+}
diff --git a/University/UniversityDataModels/Models/IExaminationResultModel.cs b/University/UniversityDataModels/Models/IExaminationResultModel.cs
new file mode 100644
index 0000000..c3c33e1
--- /dev/null
+++ b/University/UniversityDataModels/Models/IExaminationResultModel.cs
@@ -0,0 +1,10 @@
+using UniversityDataModels.Enums;
+namespace UniversityDataModels.Models
+{
+ public interface IExaminationResultModel : IId
+ {
+ String ExaminationForm { get; }
+ MarkType Mark { get; }
+ DateTime Date { get; }
+ }
+}
diff --git a/University/UniversityDataModels/Models/IReportTypeModel.cs b/University/UniversityDataModels/Models/IReportTypeModel.cs
new file mode 100644
index 0000000..927eeee
--- /dev/null
+++ b/University/UniversityDataModels/Models/IReportTypeModel.cs
@@ -0,0 +1,7 @@
+namespace UniversityDataModels.Models
+{
+ public interface IReportTypeModel : IId
+ {
+ string Name { get; }
+ }
+}
diff --git a/University/UniversityDataModels/Models/IStatementModel.cs b/University/UniversityDataModels/Models/IStatementModel.cs
new file mode 100644
index 0000000..681f016
--- /dev/null
+++ b/University/UniversityDataModels/Models/IStatementModel.cs
@@ -0,0 +1,8 @@
+namespace UniversityDataModels.Models
+{
+ public interface IStatementModel : IId
+ {
+ DateTime Date { get; }
+ int HoursCount { get; }
+ }
+}
diff --git a/University/UniversityDataModels/Models/IStudentModel.cs b/University/UniversityDataModels/Models/IStudentModel.cs
new file mode 100644
index 0000000..2ee8691
--- /dev/null
+++ b/University/UniversityDataModels/Models/IStudentModel.cs
@@ -0,0 +1,8 @@
+namespace UniversityDataModels.Models
+{
+ public interface IStudentModel : IId
+ {
+ String Name { get; }
+ String RecordCardNumber { get; }
+ }
+}
diff --git a/University/UniversityDataModels/UniversityDataModels.csproj b/University/UniversityDataModels/UniversityDataModels.csproj
new file mode 100644
index 0000000..132c02c
--- /dev/null
+++ b/University/UniversityDataModels/UniversityDataModels.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+