From bfe732607ecc6b97f9f75dce393b585a7ce87c4d Mon Sep 17 00:00:00 2001 From: Anastasia Yazykova Date: Wed, 20 Nov 2024 05:12:10 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BE=D0=B2=D0=B8=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Academic_Performance.csproj | 19 +++ .../Entities/Enums/Group.cs | 20 +++ .../Entities/Enums/Type.cs | 18 +++ .../Entities/Enums/TypeS.cs | 19 +++ .../Entities/Enums/Value.cs | 18 +++ .../Academic_Performance/Entities/Mark.cs | 31 ++++ .../Academic_Performance/Entities/Order.cs | 32 ++++ .../Entities/Statement.cs | 30 ++++ .../Academic_Performance/Entities/Student.cs | 29 ++++ .../Academic_Performance/Entities/Subject.cs | 22 +++ .../Academic_Performance/Entities/Teacher.cs | 25 +++ .../Academic_Performance/Form1.Designer.cs | 111 +++++++++++++- .../Academic_Performance/Form1.cs | 25 ++- .../Academic_Performance/Form1.resx | 57 +++---- .../Forms/FormStudent.Designer.cs | 142 ++++++++++++++++++ .../Academic_Performance/Forms/FormStudent.cs | 94 ++++++++++++ .../Forms/FormStudent.resx | 120 +++++++++++++++ .../Forms/FormStudents.Designer.cs | 122 +++++++++++++++ .../Forms/FormStudents.cs | 98 ++++++++++++ .../Forms/FormStudents.resx | 120 +++++++++++++++ .../Academic_Performance/Program.cs | 29 +++- .../Properties/Resources.Designer.cs | 73 +++++++++ .../Properties/Resources.resx | 124 +++++++++++++++ .../Repositories/IMarkRepository.cs | 18 +++ .../Repositories/IOrderRepository.cs | 18 +++ .../Repositories/IStatementRepository.cs | 18 +++ .../Repositories/IStudentRepository.cs | 18 +++ .../Repositories/ISubjectRepository.cs | 18 +++ .../Repositories/ITeacherRepository.cs | 18 +++ .../Implementations/MarkRepository.cs | 45 ++++++ .../Implementations/OrderRepository.cs | 38 +++++ .../Implementations/StatementRepository.cs | 37 +++++ .../Implementations/StudentRepository.cs | 39 +++++ .../Implementations/SubjectRepository.cs | 38 +++++ .../Implementations/TeacherRepository.cs | 37 +++++ .../Resources/unnamed.jpg | Bin 0 -> 113844 bytes 36 files changed, 1687 insertions(+), 33 deletions(-) create mode 100644 Academic_Performance/Academic_Performance/Entities/Enums/Group.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Enums/Type.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Enums/TypeS.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Enums/Value.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Mark.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Order.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Statement.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Student.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Subject.cs create mode 100644 Academic_Performance/Academic_Performance/Entities/Teacher.cs create mode 100644 Academic_Performance/Academic_Performance/Forms/FormStudent.Designer.cs create mode 100644 Academic_Performance/Academic_Performance/Forms/FormStudent.cs create mode 100644 Academic_Performance/Academic_Performance/Forms/FormStudent.resx create mode 100644 Academic_Performance/Academic_Performance/Forms/FormStudents.Designer.cs create mode 100644 Academic_Performance/Academic_Performance/Forms/FormStudents.cs create mode 100644 Academic_Performance/Academic_Performance/Forms/FormStudents.resx create mode 100644 Academic_Performance/Academic_Performance/Properties/Resources.Designer.cs create mode 100644 Academic_Performance/Academic_Performance/Properties/Resources.resx create mode 100644 Academic_Performance/Academic_Performance/Repositories/IMarkRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/IOrderRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/IStatementRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/IStudentRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/ISubjectRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/ITeacherRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/Implementations/MarkRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/Implementations/OrderRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/Implementations/StatementRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/Implementations/StudentRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/Implementations/SubjectRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Repositories/Implementations/TeacherRepository.cs create mode 100644 Academic_Performance/Academic_Performance/Resources/unnamed.jpg diff --git a/Academic_Performance/Academic_Performance/Academic_Performance.csproj b/Academic_Performance/Academic_Performance/Academic_Performance.csproj index 663fdb8..accbdf0 100644 --- a/Academic_Performance/Academic_Performance/Academic_Performance.csproj +++ b/Academic_Performance/Academic_Performance/Academic_Performance.csproj @@ -8,4 +8,23 @@ enable + + + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Entities/Enums/Group.cs b/Academic_Performance/Academic_Performance/Entities/Enums/Group.cs new file mode 100644 index 0000000..96f5708 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Enums/Group.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities.Enums +{ + + [Flags] + public enum Group + { + None = 0, + First = 1, + Second = 2, + Third = 4, + Fourth = 8 + } + +} diff --git a/Academic_Performance/Academic_Performance/Entities/Enums/Type.cs b/Academic_Performance/Academic_Performance/Entities/Enums/Type.cs new file mode 100644 index 0000000..9817419 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Enums/Type.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities.Enums +{ + public enum Type + { + None = 0, + One = 1, + Two = 2, + Three = 3, + Four = 4, + Five = 5 + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Enums/TypeS.cs b/Academic_Performance/Academic_Performance/Entities/Enums/TypeS.cs new file mode 100644 index 0000000..fbb08b7 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Enums/TypeS.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities.Enums +{ + + public enum TypeS + { + None = 0, + One = 1, + Two = 2, + Three = 3, + Four = 4, + Five = 5 + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Enums/Value.cs b/Academic_Performance/Academic_Performance/Entities/Enums/Value.cs new file mode 100644 index 0000000..374f06d --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Enums/Value.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities.Enums +{ + public enum Value + { + None=0, + One = 1, + Two = 2, + Three = 3, + Four = 4, + Five = 5 + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Mark.cs b/Academic_Performance/Academic_Performance/Entities/Mark.cs new file mode 100644 index 0000000..4b4a0f1 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Mark.cs @@ -0,0 +1,31 @@ +using Academic_Performance.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities +{ + public class Mark + { + public int Id { get; private set; } + public int StudentId { get; private set; } + public int StatmentTeacherId { get; private set; } + public int StatmentSubjectId { get; private set; } + public Value? Value { get; private set; } + public DateTime Date { get; private set; } + + public static Mark CreateOperation(int id, int studentId, int statmentSubjectId, int statmentTeacherId, Value value) + { + return new Mark + { + Id = id, + StudentId = studentId, + StatmentSubjectId = statmentSubjectId, + StatmentTeacherId = statmentTeacherId, + Value = value, + }; + } + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Order.cs b/Academic_Performance/Academic_Performance/Entities/Order.cs new file mode 100644 index 0000000..d5f1db4 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Order.cs @@ -0,0 +1,32 @@ +using Academic_Performance.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities +{ + public class Order + { + public int Id { get; private set; } + public int StudentId { get; private set; } + public string Information { get; private set; } + public TypeS? TypeS { get; private set; } + + public DateTime Date { get; private set; } + + public static Order CreateOperation(int id, int studentId, string information,TypeS types) + { + return new Order + { + Id = id, + StudentId = studentId, + Information = information, + TypeS = types, + + Date = DateTime.Now + }; + } + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Statement.cs b/Academic_Performance/Academic_Performance/Entities/Statement.cs new file mode 100644 index 0000000..56831f0 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Statement.cs @@ -0,0 +1,30 @@ +using Academic_Performance.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities +{ + public class Statement + { + public int Id { get; private set; } + public int SubjecttId { get; private set; } + public int TeacherId{ get; private set; } + + public DateTime Date { get; private set; } + + public static Statement CreateOperation(int id, int subjecttId, int teacherId) + { + return new Statement + { + Id = id, + SubjecttId = subjecttId, + TeacherId = teacherId , + + Date = DateTime.Now + }; + } + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Student.cs b/Academic_Performance/Academic_Performance/Entities/Student.cs new file mode 100644 index 0000000..ef76e15 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Student.cs @@ -0,0 +1,29 @@ +using Academic_Performance.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities +{ + public class Student + { + public int Id{ get; private set; } + public Group? Group { get; private set; } + public string Name { get; private set; } = string.Empty; + public string Flow { get; private set; } = string.Empty; + + public static Student CreateEntity(int id, string name,string flow, Group group) + { + return new Student + { + Id = id, + Name = name, + + Flow=flow, + Group = group, + }; + } + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Subject.cs b/Academic_Performance/Academic_Performance/Entities/Subject.cs new file mode 100644 index 0000000..ff8c74b --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Subject.cs @@ -0,0 +1,22 @@ +using Microsoft.VisualBasic.Devices; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities; + +public class Subject +{ + public int Id { get; private set; } + public string Name { get; private set; } = string.Empty; + public static Subject Create(int id, string name) + { + return new Subject + { + Id = id, + Name = name + }; + } +} diff --git a/Academic_Performance/Academic_Performance/Entities/Teacher.cs b/Academic_Performance/Academic_Performance/Entities/Teacher.cs new file mode 100644 index 0000000..578588d --- /dev/null +++ b/Academic_Performance/Academic_Performance/Entities/Teacher.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Entities; + +public class Teacher +{ + public int Id { get; private set; } + public string Name{ get; private set; } = string.Empty; + + public static Teacher CreateEntity(int id, string name) + { + return new Teacher + { + Id = id, + Name = name, + }; + } + + + +} diff --git a/Academic_Performance/Academic_Performance/Form1.Designer.cs b/Academic_Performance/Academic_Performance/Form1.Designer.cs index 429521b..e6a3eb3 100644 --- a/Academic_Performance/Academic_Performance/Form1.Designer.cs +++ b/Academic_Performance/Academic_Performance/Form1.Designer.cs @@ -28,12 +28,115 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; + menuStrip = new MenuStrip(); + cToolStripMenuItem = new ToolStripMenuItem(); + studentToolStripMenuItem = new ToolStripMenuItem(); + препToolStripMenuItem = new ToolStripMenuItem(); + предметыToolStripMenuItem = new ToolStripMenuItem(); + оценкиToolStripMenuItem = new ToolStripMenuItem(); + операцииToolStripMenuItem = new ToolStripMenuItem(); + добавлениеToolStripMenuItem = new ToolStripMenuItem(); + ведомостьToolStripMenuItem = new ToolStripMenuItem(); + отчетыToolStripMenuItem = new ToolStripMenuItem(); + menuStrip.SuspendLayout(); + SuspendLayout(); + // + // menuStrip + // + menuStrip.ImageScalingSize = new Size(24, 24); + menuStrip.Items.AddRange(new ToolStripItem[] { cToolStripMenuItem, операцииToolStripMenuItem, отчетыToolStripMenuItem }); + menuStrip.Location = new Point(0, 0); + menuStrip.Name = "menuStrip"; + menuStrip.Size = new Size(778, 33); + menuStrip.TabIndex = 0; + menuStrip.Text = "menuStrip1"; + // + // cToolStripMenuItem + // + cToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { studentToolStripMenuItem, препToolStripMenuItem, предметыToolStripMenuItem, оценкиToolStripMenuItem }); + cToolStripMenuItem.Name = "cToolStripMenuItem"; + cToolStripMenuItem.Size = new Size(139, 29); + cToolStripMenuItem.Text = "Справочники"; + // + // studentToolStripMenuItem + // + studentToolStripMenuItem.Name = "studentToolStripMenuItem"; + studentToolStripMenuItem.Size = new Size(270, 34); + studentToolStripMenuItem.Text = "Студенты"; + studentToolStripMenuItem.Click += studentToolStripMenuItem_Click; + // + // препToolStripMenuItem + // + препToolStripMenuItem.Name = "препToolStripMenuItem"; + препToolStripMenuItem.Size = new Size(270, 34); + препToolStripMenuItem.Text = "Преподаватели"; + // + // предметыToolStripMenuItem + // + предметыToolStripMenuItem.Name = "предметыToolStripMenuItem"; + предметыToolStripMenuItem.Size = new Size(270, 34); + предметыToolStripMenuItem.Text = "Предметы"; + // + // оценкиToolStripMenuItem + // + оценкиToolStripMenuItem.Name = "оценкиToolStripMenuItem"; + оценкиToolStripMenuItem.Size = new Size(270, 34); + оценкиToolStripMenuItem.Text = "Оценки"; + // + // операцииToolStripMenuItem + // + операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { добавлениеToolStripMenuItem, ведомостьToolStripMenuItem }); + операцииToolStripMenuItem.Name = "операцииToolStripMenuItem"; + операцииToolStripMenuItem.Size = new Size(112, 29); + операцииToolStripMenuItem.Text = "Операции"; + // + // добавлениеToolStripMenuItem + // + добавлениеToolStripMenuItem.Name = "добавлениеToolStripMenuItem"; + добавлениеToolStripMenuItem.Size = new Size(202, 34); + добавлениеToolStripMenuItem.Text = "Приказ"; + // + // ведомостьToolStripMenuItem + // + ведомостьToolStripMenuItem.Name = "ведомостьToolStripMenuItem"; + ведомостьToolStripMenuItem.Size = new Size(202, 34); + ведомостьToolStripMenuItem.Text = "Ведомость"; + // + // отчетыToolStripMenuItem + // + отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; + отчетыToolStripMenuItem.Size = new Size(88, 29); + отчетыToolStripMenuItem.Text = "Отчеты"; + // + // Form1 + // + AutoScaleDimensions = new SizeF(10F, 25F); + AutoScaleMode = AutoScaleMode.Font; + BackgroundImage = Properties.Resources.unnamed; + BackgroundImageLayout = ImageLayout.Stretch; + ClientSize = new Size(778, 450); + Controls.Add(menuStrip); + MainMenuStrip = menuStrip; + Name = "Form1"; + StartPosition = FormStartPosition.CenterScreen; + Text = "Form1"; + menuStrip.ResumeLayout(false); + menuStrip.PerformLayout(); + ResumeLayout(false); + PerformLayout(); } #endregion + + private MenuStrip menuStrip; + private ToolStripMenuItem cToolStripMenuItem; + private ToolStripMenuItem studentToolStripMenuItem; + private ToolStripMenuItem препToolStripMenuItem; + private ToolStripMenuItem предметыToolStripMenuItem; + private ToolStripMenuItem операцииToolStripMenuItem; + private ToolStripMenuItem добавлениеToolStripMenuItem; + private ToolStripMenuItem отчетыToolStripMenuItem; + private ToolStripMenuItem оценкиToolStripMenuItem; + private ToolStripMenuItem ведомостьToolStripMenuItem; } } diff --git a/Academic_Performance/Academic_Performance/Form1.cs b/Academic_Performance/Academic_Performance/Form1.cs index 08292b9..52a4a33 100644 --- a/Academic_Performance/Academic_Performance/Form1.cs +++ b/Academic_Performance/Academic_Performance/Form1.cs @@ -1,10 +1,33 @@ +using Academic_Performance.Forms; +using Unity; + namespace Academic_Performance { public partial class Form1 : Form { - public Form1() + private readonly IUnityContainer _container; + + public Form1(IUnityContainer container) { InitializeComponent(); + _container = container ?? throw new ArgumentNullException(nameof(container)); + } + + private void ToolStripMenuItem_Click(object sender, EventArgs e) + { + } + + private void studentToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } } } diff --git a/Academic_Performance/Academic_Performance/Form1.resx b/Academic_Performance/Academic_Performance/Form1.resx index 1af7de1..31084d5 100644 --- a/Academic_Performance/Academic_Performance/Form1.resx +++ b/Academic_Performance/Academic_Performance/Form1.resx @@ -1,17 +1,17 @@  - @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Forms/FormStudent.Designer.cs b/Academic_Performance/Academic_Performance/Forms/FormStudent.Designer.cs new file mode 100644 index 0000000..622878c --- /dev/null +++ b/Academic_Performance/Academic_Performance/Forms/FormStudent.Designer.cs @@ -0,0 +1,142 @@ +namespace Academic_Performance.Forms +{ + partial class FormStudent + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label = new Label(); + label2 = new Label(); + label3 = new Label(); + textBoxName = new TextBox(); + button1 = new Button(); + button2 = new Button(); + textBoxFlow = new TextBox(); + comboBox1 = new ComboBox(); + SuspendLayout(); + // + // label + // + label.AutoSize = true; + label.Location = new Point(39, 31); + label.Name = "label"; + label.Size = new Size(126, 25); + label.TabIndex = 0; + label.Text = "ФИО студента"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(46, 126); + label2.Name = "label2"; + label2.Size = new Size(69, 25); + label2.TabIndex = 1; + label2.Text = "Группа"; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(43, 208); + label3.Name = "label3"; + label3.Size = new Size(63, 25); + label3.TabIndex = 2; + label3.Text = "Поток"; + // + // textBoxName + // + textBoxName.Location = new Point(171, 27); + textBoxName.Name = "textBoxName"; + textBoxName.Size = new Size(385, 31); + textBoxName.TabIndex = 3; + textBoxName.TextChanged += textBox1_TextChanged; + // + // button1 + // + button1.Location = new Point(68, 316); + button1.Name = "button1"; + button1.Size = new Size(112, 34); + button1.TabIndex = 6; + button1.Text = "Сохранить"; + button1.UseVisualStyleBackColor = true; + button1.Click += button1_Click; + // + // button2 + // + button2.Location = new Point(291, 316); + button2.Name = "button2"; + button2.Size = new Size(112, 34); + button2.TabIndex = 7; + button2.Text = "Отмена"; + button2.UseVisualStyleBackColor = true; + // + // textBoxFlow + // + textBoxFlow.Location = new Point(171, 126); + textBoxFlow.Name = "textBoxFlow"; + textBoxFlow.Size = new Size(397, 31); + textBoxFlow.TabIndex = 8; + // + // comboBox1 + // + comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; + comboBox1.FormattingEnabled = true; + comboBox1.Location = new Point(171, 245); + comboBox1.Name = "comboBox1"; + comboBox1.Size = new Size(182, 33); + comboBox1.TabIndex = 9; + // + // FormStudent + // + AutoScaleDimensions = new SizeF(10F, 25F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(602, 388); + Controls.Add(comboBox1); + Controls.Add(textBoxFlow); + Controls.Add(button2); + Controls.Add(button1); + Controls.Add(textBoxName); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label); + Name = "FormStudent"; + StartPosition = FormStartPosition.CenterScreen; + Text = "Студент"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label; + private Label label2; + private Label label3; + private TextBox textBoxName; + private Button button1; + private Button button2; + private TextBox textBoxFlow; + private ComboBox comboBox1; + } +} \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Forms/FormStudent.cs b/Academic_Performance/Academic_Performance/Forms/FormStudent.cs new file mode 100644 index 0000000..049ba4d --- /dev/null +++ b/Academic_Performance/Academic_Performance/Forms/FormStudent.cs @@ -0,0 +1,94 @@ +using Academic_Performance.Repositories; +using Academic_Performance.Entities; +using Academic_Performance.Repositories.Implementations; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Academic_Performance.Entities.Enums; + +namespace Academic_Performance.Forms +{ + public partial class FormStudent : Form + { + private readonly IStudentRepository _studentRepository; + private int? _studentId; + + public int Id + { + set + { + try + { + var student = _studentRepository.GetStudentById(value); + if (student == null) + { + throw new InvalidDataException(nameof(student)); + } + textBoxName.Text = student.Name; + textBoxFlow.Text = student.Flow; + comboBox1.SelectedItem =student.Group; + _studentId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + public FormStudent(IStudentRepository studentRepository) + { + + InitializeComponent(); + _studentRepository = studentRepository ?? + throw new ArgumentNullException(nameof(studentRepository)); + comboBox1.DataSource =Enum.GetValues(typeof(Group)); + + } + + private void textBox1_TextChanged(object sender, EventArgs e) + { + + } + + private void button1_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxName.Text)|| string.IsNullOrWhiteSpace(textBoxFlow.Text)) + { + throw new Exception("Имеются незаполненные поля"); + } + + if (_studentId.HasValue) + { + _studentRepository.UpdateStudent(CreateStudent(_studentId.Value)); + } + else + { + _studentRepository.AddStudent(CreateStudent(0)); + } + + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private Student CreateStudent(int id) => Student.CreateEntity( + id, + textBoxName.Text, textBoxFlow.Text, (Group)comboBox1.SelectedItem! + ); + } + + +} diff --git a/Academic_Performance/Academic_Performance/Forms/FormStudent.resx b/Academic_Performance/Academic_Performance/Forms/FormStudent.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Forms/FormStudent.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Forms/FormStudents.Designer.cs b/Academic_Performance/Academic_Performance/Forms/FormStudents.Designer.cs new file mode 100644 index 0000000..7f6e408 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Forms/FormStudents.Designer.cs @@ -0,0 +1,122 @@ +namespace Academic_Performance.Forms +{ + partial class FormStudents + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + button3 = new Button(); + button2 = new Button(); + button1 = new Button(); + dataGridView1 = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(button3); + panel1.Controls.Add(button2); + panel1.Controls.Add(button1); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(591, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(209, 450); + panel1.TabIndex = 0; + // + // button3 + // + button3.Location = new Point(52, 324); + button3.Name = "button3"; + button3.Size = new Size(112, 34); + button3.TabIndex = 2; + button3.Text = "button3"; + button3.UseVisualStyleBackColor = true; + button3.Click += button3_Click; + // + // button2 + // + button2.Location = new Point(52, 173); + button2.Name = "button2"; + button2.Size = new Size(112, 34); + button2.TabIndex = 1; + button2.Text = "button2"; + button2.UseVisualStyleBackColor = true; + button2.Click += button2_Click; + // + // button1 + // + button1.Location = new Point(52, 28); + button1.Name = "button1"; + button1.Size = new Size(112, 34); + button1.TabIndex = 0; + button1.Text = "button1"; + button1.UseVisualStyleBackColor = true; + button1.Click += button1_Click; + // + // dataGridView1 + // + dataGridView1.AllowUserToAddRows = false; + dataGridView1.AllowUserToDeleteRows = false; + dataGridView1.AllowUserToResizeColumns = false; + dataGridView1.AllowUserToResizeRows = false; + dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView1.Dock = DockStyle.Fill; + dataGridView1.Location = new Point(0, 0); + dataGridView1.MultiSelect = false; + dataGridView1.Name = "dataGridView1"; + dataGridView1.ReadOnly = true; + dataGridView1.RowHeadersVisible = false; + dataGridView1.RowHeadersWidth = 62; + dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridView1.Size = new Size(591, 450); + dataGridView1.TabIndex = 1; + // + // FormStudents + // + AutoScaleDimensions = new SizeF(10F, 25F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridView1); + Controls.Add(panel1); + Name = "FormStudents"; + Text = "FormStudents"; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button button3; + private Button button2; + private Button button1; + private DataGridView dataGridView1; + } +} \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Forms/FormStudents.cs b/Academic_Performance/Academic_Performance/Forms/FormStudents.cs new file mode 100644 index 0000000..b5c6407 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Forms/FormStudents.cs @@ -0,0 +1,98 @@ +using Academic_Performance.Repositories; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace Academic_Performance.Forms +{ + public partial class FormStudents : Form + { + private readonly IUnityContainer _container; + private readonly IStudentRepository _studentRepository; + + public FormStudents(IUnityContainer container, IStudentRepository studentRepository) + { + InitializeComponent(); + _container = container ?? throw new ArgumentNullException(nameof(container)); + _studentRepository = studentRepository ?? throw new ArgumentNullException(nameof(studentRepository)); + } + + private void button1_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridView1.DataSource = _studentRepository.GetAllStudents(); + + private void button2_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridView1.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["ID"].Value); + return true; + } + + private void button3_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + + } + + private void StudentsList_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/Academic_Performance/Academic_Performance/Forms/FormStudents.resx b/Academic_Performance/Academic_Performance/Forms/FormStudents.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Forms/FormStudents.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Program.cs b/Academic_Performance/Academic_Performance/Program.cs index 1d46e8b..0745e53 100644 --- a/Academic_Performance/Academic_Performance/Program.cs +++ b/Academic_Performance/Academic_Performance/Program.cs @@ -1,3 +1,8 @@ +using Unity.Lifetime; +using Unity; +using Academic_Performance.Repositories; +using Academic_Performance.Repositories.Implementations; + namespace Academic_Performance { internal static class Program @@ -11,7 +16,29 @@ namespace Academic_Performance // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); + Application.Run(CreateContainer().Resolve()); } + private static IUnityContainer CreateContainer() + { + var container = new UnityContainer(); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new + TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + return container; + + } + + + + + } + } \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Properties/Resources.Designer.cs b/Academic_Performance/Academic_Performance/Properties/Resources.Designer.cs new file mode 100644 index 0000000..34b368d --- /dev/null +++ b/Academic_Performance/Academic_Performance/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Academic_Performance.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [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("Academic_Performance.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap unnamed { + get { + object obj = ResourceManager.GetObject("unnamed", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Academic_Performance/Academic_Performance/Properties/Resources.resx b/Academic_Performance/Academic_Performance/Properties/Resources.resx new file mode 100644 index 0000000..1ab58a0 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\unnamed.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Academic_Performance/Academic_Performance/Repositories/IMarkRepository.cs b/Academic_Performance/Academic_Performance/Repositories/IMarkRepository.cs new file mode 100644 index 0000000..2960950 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/IMarkRepository.cs @@ -0,0 +1,18 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories +{ + public interface IMarkRepository + { + IEnumerable GetAllMarks(); + Mark GetMarkById(int id); + void AddMark(Mark mark); + void UpdateMark(Mark mark); + void DeleteMark(int id); + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/IOrderRepository.cs b/Academic_Performance/Academic_Performance/Repositories/IOrderRepository.cs new file mode 100644 index 0000000..3518d82 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/IOrderRepository.cs @@ -0,0 +1,18 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories +{ + public interface IOrderRepository + { + IEnumerable GetAllOrders(); + Order GetOrderById(int id); + void AddOrder(Order order); + void UpdateOrder(Order order); + void DeleteOrder(int id); + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/IStatementRepository.cs b/Academic_Performance/Academic_Performance/Repositories/IStatementRepository.cs new file mode 100644 index 0000000..fea46c8 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/IStatementRepository.cs @@ -0,0 +1,18 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories +{ + public interface IStatementRepository + { + IEnumerable GetAllStatements(); + Statement GetStatementById(int id); + void AddStatement(Statement statement); + void UpdateStatement(Statement statement); + void DeleteStatement(int id); + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/IStudentRepository.cs b/Academic_Performance/Academic_Performance/Repositories/IStudentRepository.cs new file mode 100644 index 0000000..edd939b --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/IStudentRepository.cs @@ -0,0 +1,18 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories +{ + public interface IStudentRepository + { + IEnumerable GetAllStudents(); + Student GetStudentById(int id); + void AddStudent(Student student); + void UpdateStudent(Student student); + void DeleteStudent(int id); + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/ISubjectRepository.cs b/Academic_Performance/Academic_Performance/Repositories/ISubjectRepository.cs new file mode 100644 index 0000000..7c01890 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/ISubjectRepository.cs @@ -0,0 +1,18 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories +{ + public interface ISubjectRepository + { + IEnumerable GetAllSubjects(); + Subject GetSubjectById(int id); + void AddSubject(Subject subject); + void UpdateSubject(Subject subject); + void DeleteSubject(int id); + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/ITeacherRepository.cs b/Academic_Performance/Academic_Performance/Repositories/ITeacherRepository.cs new file mode 100644 index 0000000..c609dbc --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/ITeacherRepository.cs @@ -0,0 +1,18 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories +{ + public interface ITeacherRepository + { + IEnumerable GetAllTeachers(); + Teacher GetTeacherById(int id); + void AddTeacher(Teacher teacher); + void UpdateTeacher(Teacher teacher); + void DeleteTeacher(int id); + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/Implementations/MarkRepository.cs b/Academic_Performance/Academic_Performance/Repositories/Implementations/MarkRepository.cs new file mode 100644 index 0000000..6cf2602 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/Implementations/MarkRepository.cs @@ -0,0 +1,45 @@ +using Academic_Performance.Entities; +using Academic_Performance.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories.Implementations +{ + + public class MarkRepository : IMarkRepository + { + public void CreateMark(Mark Mark) + { + // Заглушка + } + + public void UpdateMark(Mark Mark) + { + // Заглушка + } + + public void DeleteMark(int id) + { + // Заглушка + } + + public Mark GetMarkById(int id) + { + // Возвращаем объект с фиктивными данными, убедившись, что Mark.One существует + return Mark.CreateOperation(0, 0, 0, 0, Value.One); // Убедитесь, что Mark.One определен + } + + public IEnumerable GetAllMarks() + { + // Заглушка + return new List(); + } + public void AddMark(Mark mark) + { + // Заглушка + } + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/Implementations/OrderRepository.cs b/Academic_Performance/Academic_Performance/Repositories/Implementations/OrderRepository.cs new file mode 100644 index 0000000..4be2da7 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/Implementations/OrderRepository.cs @@ -0,0 +1,38 @@ +using Academic_Performance.Entities; +using Academic_Performance.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories.Implementations +{ + public class OrderRepository : IOrderRepository + { + public void AddOrder(Order order) + { + // Заглушка + } + + public void DeleteOrder(int id) + { + // Заглушка + } + + public IEnumerable GetAllOrders() + { + return new List(); + } + + public Order GetOrderById(int id) + { + return Order.CreateOperation(0,0, string.Empty,TypeS.None); + } + + public void UpdateOrder(Order order) + { + // Заглушка + } + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/Implementations/StatementRepository.cs b/Academic_Performance/Academic_Performance/Repositories/Implementations/StatementRepository.cs new file mode 100644 index 0000000..8b4d87c --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/Implementations/StatementRepository.cs @@ -0,0 +1,37 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories.Implementations +{ + public class StatementRepository : IStatementRepository + { + public void AddStatement(Statement statement) + { + // Заглушка + } + + public void DeleteStatement(int id) + { + // Заглушка + } + + public IEnumerable GetAllStatements() + { + return new List(); + } + + public Statement GetStatementById(int id) + { + return Statement.CreateOperation(0, 0, 0); + } + + public void UpdateStatement(Statement statment) + { + // Заглушка + } + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/Implementations/StudentRepository.cs b/Academic_Performance/Academic_Performance/Repositories/Implementations/StudentRepository.cs new file mode 100644 index 0000000..0916be7 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/Implementations/StudentRepository.cs @@ -0,0 +1,39 @@ +using Academic_Performance.Entities; +using Academic_Performance.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories.Implementations +{ + public class StudentRepository : IStudentRepository + { + public void AddStudent(Student subject) + { + // Заглушка + } + + public void DeleteStudent(int id) + { + // Заглушка + } + + public IEnumerable GetAllStudents() + { + return new List(); + } + + public Student GetStudentById(int id) + { + return Student.CreateEntity(0, string.Empty,string.Empty ,Group.None); + } + + public void UpdateStudent(Student student) + { + // Заглушка + } + } +} + diff --git a/Academic_Performance/Academic_Performance/Repositories/Implementations/SubjectRepository.cs b/Academic_Performance/Academic_Performance/Repositories/Implementations/SubjectRepository.cs new file mode 100644 index 0000000..9459100 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/Implementations/SubjectRepository.cs @@ -0,0 +1,38 @@ +using Academic_Performance.Entities; +using Microsoft.VisualBasic.Devices; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories.Implementations +{ + public class SubjectRepository : ISubjectRepository + { + public void AddSubject(Subject subject) + { + // Заглушка + } + + public void DeleteSubject(int id) + { + // Заглушка + } + + public IEnumerable GetAllSubjects() + { + return new List(); + } + + public Subject GetSubjectById(int id) + { + return Subject.Create(0, string.Empty); + } + + public void UpdateSubject(Subject subject) + { + // Заглушка + } + } +} diff --git a/Academic_Performance/Academic_Performance/Repositories/Implementations/TeacherRepository.cs b/Academic_Performance/Academic_Performance/Repositories/Implementations/TeacherRepository.cs new file mode 100644 index 0000000..4e72f49 --- /dev/null +++ b/Academic_Performance/Academic_Performance/Repositories/Implementations/TeacherRepository.cs @@ -0,0 +1,37 @@ +using Academic_Performance.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Academic_Performance.Repositories.Implementations +{ + public class TeacherRepository : ITeacherRepository + { + public void AddTeacher(Teacher teacher) + { + // Заглушка + } + + public void DeleteTeacher(int id) + { + // Заглушка + } + + public IEnumerable GetAllTeachers() + { + return new List(); + } + + public Teacher GetTeacherById(int id) + { + return Teacher.CreateEntity(0, string.Empty); + } + + public void UpdateTeacher(Teacher teacher) + { + // Заглушка + } + } +} diff --git a/Academic_Performance/Academic_Performance/Resources/unnamed.jpg b/Academic_Performance/Academic_Performance/Resources/unnamed.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4851441df548f91d5f4637926f7a6325c9472972 GIT binary patch literal 113844 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

v@7#Ny1E-GZ|nk%Avq0 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 F|Jf2COUwWO literal 0 HcmV?d00001