Добавление записи работает
This commit is contained in:
parent
8563387642
commit
2c0e6b13f5
@ -2,8 +2,6 @@
|
|||||||
{
|
{
|
||||||
public record StudentSessionDTO
|
public record StudentSessionDTO
|
||||||
{
|
{
|
||||||
public Guid Id { get; init; }
|
|
||||||
|
|
||||||
public decimal Score { get; init; }
|
public decimal Score { get; init; }
|
||||||
|
|
||||||
public int Number { get; init; }
|
public int Number { get; init; }
|
||||||
|
@ -9,7 +9,8 @@ namespace Lab3.Database.MappingProfiles
|
|||||||
public SessionMappingProfile()
|
public SessionMappingProfile()
|
||||||
{
|
{
|
||||||
_ = CreateMap<StudentSession, StudentSessionDTO>();
|
_ = CreateMap<StudentSession, StudentSessionDTO>();
|
||||||
_ = CreateMap<StudentSessionDTO, StudentSession>();
|
_ = CreateMap<StudentSessionDTO, StudentSession>()
|
||||||
|
.ForMember(s => s.Id, opt => opt.MapFrom(s => Guid.NewGuid()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using Lab3.Database.Context;
|
using Lab3.Database.Context;
|
||||||
using Lab3.Database.DTO;
|
using Lab3.Database.DTO;
|
||||||
|
using Lab3.Database.Models;
|
||||||
using Lab3.Database.Repository.Interfaces;
|
using Lab3.Database.Repository.Interfaces;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
@ -18,10 +19,19 @@ namespace Lab3.Database.Repository.Implementations
|
|||||||
_context = context;
|
_context = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<List<StudentDTO>> Create(StudentDTO studentDTO) => throw new NotImplementedException();
|
public async Task<StudentDTO> CreateAsync(StudentDTO studentDTO)
|
||||||
public Task<StudentDTO> Delete(Guid id) => throw new NotImplementedException();
|
{
|
||||||
|
var student = _mapper.Map<Student>(studentDTO);
|
||||||
|
|
||||||
public async Task<List<StudentDTO>> Get(int limit = 10000, int offset = 0)
|
var result = await _context.Students.AddAsync(student);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
return _mapper.Map<StudentDTO>(result.Entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<StudentDTO> DeleteAsync(Guid id) => throw new NotImplementedException();
|
||||||
|
|
||||||
|
public async Task<List<StudentDTO>> GetAsync(int limit = 10000, int offset = 0)
|
||||||
=> _mapper.Map<List<StudentDTO>>(
|
=> _mapper.Map<List<StudentDTO>>(
|
||||||
await _context.Students
|
await _context.Students
|
||||||
.Include(s => s.StudentSessions)
|
.Include(s => s.StudentSessions)
|
||||||
@ -29,7 +39,32 @@ namespace Lab3.Database.Repository.Implementations
|
|||||||
.Take(limit)
|
.Take(limit)
|
||||||
.ToListAsync());
|
.ToListAsync());
|
||||||
|
|
||||||
public Task<StudentDTO> Get(Guid id) => throw new NotImplementedException();
|
public Task<StudentDTO> GetAsync(Guid id) => throw new NotImplementedException();
|
||||||
public Task<StudentDTO> Update(StudentDTO studentDTO) => throw new NotImplementedException();
|
|
||||||
|
public async Task<StudentDTO?> UpdateAsync(StudentDTO studentDTO)
|
||||||
|
{
|
||||||
|
var student = _mapper.Map<Student>(studentDTO);
|
||||||
|
|
||||||
|
var currStudent = await _context.Students.FindAsync(student.Id);
|
||||||
|
|
||||||
|
if (currStudent == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
currStudent.Name = student.Name;
|
||||||
|
currStudent.StartEducation = student.StartEducation;
|
||||||
|
currStudent.EducationForm = student.EducationForm;
|
||||||
|
|
||||||
|
foreach (var session in currStudent.StudentSessions)
|
||||||
|
{
|
||||||
|
session.Score = student.StudentSessions
|
||||||
|
.FirstOrDefault(s => s.Number == session.Number)?.Score ?? session.Score;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
return _mapper.Map<StudentDTO>(currStudent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,14 +4,14 @@ namespace Lab3.Database.Repository.Interfaces
|
|||||||
{
|
{
|
||||||
public interface IStudentRepository
|
public interface IStudentRepository
|
||||||
{
|
{
|
||||||
public Task<List<StudentDTO>> Get(int limit = 10000, int offset = 0);
|
public Task<List<StudentDTO>> GetAsync(int limit = 10000, int offset = 0);
|
||||||
|
|
||||||
public Task<StudentDTO> Get(Guid id);
|
public Task<StudentDTO> GetAsync(Guid id);
|
||||||
|
|
||||||
public Task<StudentDTO> Update(StudentDTO studentDTO);
|
public Task<StudentDTO?> UpdateAsync(StudentDTO studentDTO);
|
||||||
|
|
||||||
public Task<StudentDTO> Delete(Guid id);
|
public Task<StudentDTO> DeleteAsync(Guid id);
|
||||||
|
|
||||||
public Task<List<StudentDTO>> Create(StudentDTO studentDTO);
|
public Task<StudentDTO> CreateAsync(StudentDTO studentDTO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
using Lab3.Database.Extensions;
|
using DocumentFormat.OpenXml.Office2010.Excel;
|
||||||
|
using Lab3.Database.Extensions;
|
||||||
|
using Lab3.Database.Repository.Interfaces;
|
||||||
using Lab3.Forms;
|
using Lab3.Forms;
|
||||||
using Lab3.MappingProfiles;
|
using Lab3.MappingProfiles;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
@ -23,7 +25,13 @@ namespace Lab3.Extensions
|
|||||||
this IServiceCollection services)
|
this IServiceCollection services)
|
||||||
{
|
{
|
||||||
services.AddScoped<MainForm>();
|
services.AddScoped<MainForm>();
|
||||||
services.AddScoped<CreateForm>();
|
|
||||||
|
services.AddScoped<Func<Guid?, CreateForm>>(sp => (id
|
||||||
|
=> new CreateForm(
|
||||||
|
sp.GetRequiredService<IStudentRepository>(),
|
||||||
|
sp.GetRequiredService<IEducationFormRepository>(),
|
||||||
|
id
|
||||||
|
)));
|
||||||
|
|
||||||
return services;
|
return services;
|
||||||
}
|
}
|
||||||
|
257
Cop.Borovkov.Var3/Lab3/Forms/CreateForm.Designer.cs
generated
257
Cop.Borovkov.Var3/Lab3/Forms/CreateForm.Designer.cs
generated
@ -28,52 +28,52 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
customDateTimePicker1 = new CustomsComponentsVar2.CustomDateTimePicker();
|
StartEducationDataPicker = new CustomsComponentsVar2.CustomDateTimePicker();
|
||||||
visualSelectionComponent1 = new ComponentsLab.VisualSelectionComponent();
|
FormSelector = new ComponentsLab.VisualSelectionComponent();
|
||||||
label1 = new Label();
|
label1 = new Label();
|
||||||
label2 = new Label();
|
label2 = new Label();
|
||||||
textBox1 = new TextBox();
|
NameTextBox = new TextBox();
|
||||||
label3 = new Label();
|
label3 = new Label();
|
||||||
numericUpDown1 = new NumericUpDown();
|
session1Score = new NumericUpDown();
|
||||||
label4 = new Label();
|
label4 = new Label();
|
||||||
label5 = new Label();
|
label5 = new Label();
|
||||||
label6 = new Label();
|
label6 = new Label();
|
||||||
numericUpDown2 = new NumericUpDown();
|
session2Score = new NumericUpDown();
|
||||||
label7 = new Label();
|
label7 = new Label();
|
||||||
numericUpDown3 = new NumericUpDown();
|
session3Score = new NumericUpDown();
|
||||||
label8 = new Label();
|
label8 = new Label();
|
||||||
numericUpDown4 = new NumericUpDown();
|
session6Score = new NumericUpDown();
|
||||||
label9 = new Label();
|
label9 = new Label();
|
||||||
numericUpDown5 = new NumericUpDown();
|
session5Score = new NumericUpDown();
|
||||||
label10 = new Label();
|
label10 = new Label();
|
||||||
numericUpDown6 = new NumericUpDown();
|
session4Score = new NumericUpDown();
|
||||||
button1 = new Button();
|
ButtonSave = new Button();
|
||||||
button2 = new Button();
|
buttonCancel = new Button();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit();
|
((System.ComponentModel.ISupportInitialize)session1Score).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown2).BeginInit();
|
((System.ComponentModel.ISupportInitialize)session2Score).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown3).BeginInit();
|
((System.ComponentModel.ISupportInitialize)session3Score).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown4).BeginInit();
|
((System.ComponentModel.ISupportInitialize)session6Score).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown5).BeginInit();
|
((System.ComponentModel.ISupportInitialize)session5Score).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown6).BeginInit();
|
((System.ComponentModel.ISupportInitialize)session4Score).BeginInit();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// customDateTimePicker1
|
// StartEducationDataPicker
|
||||||
//
|
//
|
||||||
customDateTimePicker1.Location = new Point(430, 32);
|
StartEducationDataPicker.Location = new Point(430, 32);
|
||||||
customDateTimePicker1.Name = "customDateTimePicker1";
|
StartEducationDataPicker.Name = "StartEducationDataPicker";
|
||||||
customDateTimePicker1.Size = new Size(456, 55);
|
StartEducationDataPicker.Size = new Size(456, 55);
|
||||||
customDateTimePicker1.TabIndex = 0;
|
StartEducationDataPicker.TabIndex = 0;
|
||||||
customDateTimePicker1.Value = new DateTime(2024, 11, 6, 22, 54, 54, 353);
|
StartEducationDataPicker.Value = new DateTime(2024, 11, 6, 22, 54, 54, 353);
|
||||||
//
|
//
|
||||||
// visualSelectionComponent1
|
// FormSelector
|
||||||
//
|
//
|
||||||
visualSelectionComponent1.BorderStyle = BorderStyle.FixedSingle;
|
FormSelector.BorderStyle = BorderStyle.FixedSingle;
|
||||||
visualSelectionComponent1.comboBoxSelectedValue = "";
|
FormSelector.ComboBoxSelectedValue = "";
|
||||||
visualSelectionComponent1.Location = new Point(430, 114);
|
FormSelector.Location = new Point(436, 133);
|
||||||
visualSelectionComponent1.Margin = new Padding(3, 4, 3, 4);
|
FormSelector.Margin = new Padding(3, 4, 3, 4);
|
||||||
visualSelectionComponent1.Name = "visualSelectionComponent1";
|
FormSelector.Name = "FormSelector";
|
||||||
visualSelectionComponent1.Size = new Size(211, 109);
|
FormSelector.Size = new Size(352, 31);
|
||||||
visualSelectionComponent1.TabIndex = 1;
|
FormSelector.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
@ -87,18 +87,18 @@
|
|||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
label2.AutoSize = true;
|
label2.AutoSize = true;
|
||||||
label2.Location = new Point(436, 90);
|
label2.Location = new Point(436, 101);
|
||||||
label2.Name = "label2";
|
label2.Name = "label2";
|
||||||
label2.Size = new Size(128, 20);
|
label2.Size = new Size(128, 20);
|
||||||
label2.TabIndex = 3;
|
label2.TabIndex = 3;
|
||||||
label2.Text = "Форма обучения";
|
label2.Text = "Форма обучения";
|
||||||
//
|
//
|
||||||
// textBox1
|
// NameTextBox
|
||||||
//
|
//
|
||||||
textBox1.Location = new Point(12, 60);
|
NameTextBox.Location = new Point(12, 60);
|
||||||
textBox1.Name = "textBox1";
|
NameTextBox.Name = "NameTextBox";
|
||||||
textBox1.Size = new Size(315, 27);
|
NameTextBox.Size = new Size(315, 27);
|
||||||
textBox1.TabIndex = 4;
|
NameTextBox.TabIndex = 4;
|
||||||
//
|
//
|
||||||
// label3
|
// label3
|
||||||
//
|
//
|
||||||
@ -109,15 +109,15 @@
|
|||||||
label3.TabIndex = 5;
|
label3.TabIndex = 5;
|
||||||
label3.Text = "ФИО";
|
label3.Text = "ФИО";
|
||||||
//
|
//
|
||||||
// numericUpDown1
|
// session1Score
|
||||||
//
|
//
|
||||||
numericUpDown1.DecimalPlaces = 2;
|
session1Score.DecimalPlaces = 2;
|
||||||
numericUpDown1.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
session1Score.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
||||||
numericUpDown1.Location = new Point(12, 156);
|
session1Score.Location = new Point(12, 156);
|
||||||
numericUpDown1.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
session1Score.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
||||||
numericUpDown1.Name = "numericUpDown1";
|
session1Score.Name = "session1Score";
|
||||||
numericUpDown1.Size = new Size(150, 27);
|
session1Score.Size = new Size(150, 27);
|
||||||
numericUpDown1.TabIndex = 6;
|
session1Score.TabIndex = 6;
|
||||||
//
|
//
|
||||||
// label4
|
// label4
|
||||||
//
|
//
|
||||||
@ -146,15 +146,15 @@
|
|||||||
label6.TabIndex = 10;
|
label6.TabIndex = 10;
|
||||||
label6.Text = "Сессия2";
|
label6.Text = "Сессия2";
|
||||||
//
|
//
|
||||||
// numericUpDown2
|
// session2Score
|
||||||
//
|
//
|
||||||
numericUpDown2.DecimalPlaces = 2;
|
session2Score.DecimalPlaces = 2;
|
||||||
numericUpDown2.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
session2Score.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
||||||
numericUpDown2.Location = new Point(12, 211);
|
session2Score.Location = new Point(12, 211);
|
||||||
numericUpDown2.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
session2Score.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
||||||
numericUpDown2.Name = "numericUpDown2";
|
session2Score.Name = "session2Score";
|
||||||
numericUpDown2.Size = new Size(150, 27);
|
session2Score.Size = new Size(150, 27);
|
||||||
numericUpDown2.TabIndex = 9;
|
session2Score.TabIndex = 9;
|
||||||
//
|
//
|
||||||
// label7
|
// label7
|
||||||
//
|
//
|
||||||
@ -165,15 +165,15 @@
|
|||||||
label7.TabIndex = 12;
|
label7.TabIndex = 12;
|
||||||
label7.Text = "Сессия3";
|
label7.Text = "Сессия3";
|
||||||
//
|
//
|
||||||
// numericUpDown3
|
// session3Score
|
||||||
//
|
//
|
||||||
numericUpDown3.DecimalPlaces = 2;
|
session3Score.DecimalPlaces = 2;
|
||||||
numericUpDown3.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
session3Score.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
||||||
numericUpDown3.Location = new Point(12, 270);
|
session3Score.Location = new Point(12, 270);
|
||||||
numericUpDown3.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
session3Score.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
||||||
numericUpDown3.Name = "numericUpDown3";
|
session3Score.Name = "session3Score";
|
||||||
numericUpDown3.Size = new Size(150, 27);
|
session3Score.Size = new Size(150, 27);
|
||||||
numericUpDown3.TabIndex = 11;
|
session3Score.TabIndex = 11;
|
||||||
//
|
//
|
||||||
// label8
|
// label8
|
||||||
//
|
//
|
||||||
@ -184,15 +184,15 @@
|
|||||||
label8.TabIndex = 18;
|
label8.TabIndex = 18;
|
||||||
label8.Text = "Сессия6";
|
label8.Text = "Сессия6";
|
||||||
//
|
//
|
||||||
// numericUpDown4
|
// session6Score
|
||||||
//
|
//
|
||||||
numericUpDown4.DecimalPlaces = 2;
|
session6Score.DecimalPlaces = 2;
|
||||||
numericUpDown4.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
session6Score.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
||||||
numericUpDown4.Location = new Point(177, 270);
|
session6Score.Location = new Point(177, 270);
|
||||||
numericUpDown4.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
session6Score.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
||||||
numericUpDown4.Name = "numericUpDown4";
|
session6Score.Name = "session6Score";
|
||||||
numericUpDown4.Size = new Size(150, 27);
|
session6Score.Size = new Size(150, 27);
|
||||||
numericUpDown4.TabIndex = 17;
|
session6Score.TabIndex = 17;
|
||||||
//
|
//
|
||||||
// label9
|
// label9
|
||||||
//
|
//
|
||||||
@ -203,15 +203,15 @@
|
|||||||
label9.TabIndex = 16;
|
label9.TabIndex = 16;
|
||||||
label9.Text = "Сессия5";
|
label9.Text = "Сессия5";
|
||||||
//
|
//
|
||||||
// numericUpDown5
|
// session5Score
|
||||||
//
|
//
|
||||||
numericUpDown5.DecimalPlaces = 2;
|
session5Score.DecimalPlaces = 2;
|
||||||
numericUpDown5.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
session5Score.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
||||||
numericUpDown5.Location = new Point(177, 211);
|
session5Score.Location = new Point(177, 211);
|
||||||
numericUpDown5.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
session5Score.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
||||||
numericUpDown5.Name = "numericUpDown5";
|
session5Score.Name = "session5Score";
|
||||||
numericUpDown5.Size = new Size(150, 27);
|
session5Score.Size = new Size(150, 27);
|
||||||
numericUpDown5.TabIndex = 15;
|
session5Score.TabIndex = 15;
|
||||||
//
|
//
|
||||||
// label10
|
// label10
|
||||||
//
|
//
|
||||||
@ -222,95 +222,96 @@
|
|||||||
label10.TabIndex = 14;
|
label10.TabIndex = 14;
|
||||||
label10.Text = "Сессия4";
|
label10.Text = "Сессия4";
|
||||||
//
|
//
|
||||||
// numericUpDown6
|
// session4Score
|
||||||
//
|
//
|
||||||
numericUpDown6.DecimalPlaces = 2;
|
session4Score.DecimalPlaces = 2;
|
||||||
numericUpDown6.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
session4Score.Increment = new decimal(new int[] { 1, 0, 0, 131072 });
|
||||||
numericUpDown6.Location = new Point(177, 156);
|
session4Score.Location = new Point(177, 156);
|
||||||
numericUpDown6.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
session4Score.Maximum = new decimal(new int[] { 5, 0, 0, 0 });
|
||||||
numericUpDown6.Name = "numericUpDown6";
|
session4Score.Name = "session4Score";
|
||||||
numericUpDown6.Size = new Size(150, 27);
|
session4Score.Size = new Size(150, 27);
|
||||||
numericUpDown6.TabIndex = 13;
|
session4Score.TabIndex = 13;
|
||||||
//
|
//
|
||||||
// button1
|
// ButtonSave
|
||||||
//
|
//
|
||||||
button1.Location = new Point(430, 258);
|
ButtonSave.Location = new Point(430, 258);
|
||||||
button1.Name = "button1";
|
ButtonSave.Name = "ButtonSave";
|
||||||
button1.Size = new Size(164, 39);
|
ButtonSave.Size = new Size(164, 39);
|
||||||
button1.TabIndex = 19;
|
ButtonSave.TabIndex = 19;
|
||||||
button1.Text = "Сохранить";
|
ButtonSave.Text = "Сохранить";
|
||||||
button1.UseVisualStyleBackColor = true;
|
ButtonSave.UseVisualStyleBackColor = true;
|
||||||
|
ButtonSave.Click += ButtonSave_ClickAsync;
|
||||||
//
|
//
|
||||||
// button2
|
// buttonCancel
|
||||||
//
|
//
|
||||||
button2.Location = new Point(624, 258);
|
buttonCancel.Location = new Point(624, 258);
|
||||||
button2.Name = "button2";
|
buttonCancel.Name = "buttonCancel";
|
||||||
button2.Size = new Size(164, 39);
|
buttonCancel.Size = new Size(164, 39);
|
||||||
button2.TabIndex = 20;
|
buttonCancel.TabIndex = 20;
|
||||||
button2.Text = "Отмена";
|
buttonCancel.Text = "Отмена";
|
||||||
button2.UseVisualStyleBackColor = true;
|
buttonCancel.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// CreateForm
|
// CreateForm
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(8F, 20F);
|
AutoScaleDimensions = new SizeF(8F, 20F);
|
||||||
AutoScaleMode = AutoScaleMode.Font;
|
AutoScaleMode = AutoScaleMode.Font;
|
||||||
ClientSize = new Size(800, 309);
|
ClientSize = new Size(800, 309);
|
||||||
Controls.Add(button2);
|
Controls.Add(buttonCancel);
|
||||||
Controls.Add(button1);
|
Controls.Add(ButtonSave);
|
||||||
Controls.Add(label8);
|
Controls.Add(label8);
|
||||||
Controls.Add(numericUpDown4);
|
Controls.Add(session6Score);
|
||||||
Controls.Add(label9);
|
Controls.Add(label9);
|
||||||
Controls.Add(numericUpDown5);
|
Controls.Add(session5Score);
|
||||||
Controls.Add(label10);
|
Controls.Add(label10);
|
||||||
Controls.Add(numericUpDown6);
|
Controls.Add(session4Score);
|
||||||
Controls.Add(label7);
|
Controls.Add(label7);
|
||||||
Controls.Add(numericUpDown3);
|
Controls.Add(session3Score);
|
||||||
Controls.Add(label6);
|
Controls.Add(label6);
|
||||||
Controls.Add(numericUpDown2);
|
Controls.Add(session2Score);
|
||||||
Controls.Add(label5);
|
Controls.Add(label5);
|
||||||
Controls.Add(label4);
|
Controls.Add(label4);
|
||||||
Controls.Add(numericUpDown1);
|
Controls.Add(session1Score);
|
||||||
Controls.Add(label3);
|
Controls.Add(label3);
|
||||||
Controls.Add(textBox1);
|
Controls.Add(NameTextBox);
|
||||||
Controls.Add(label2);
|
Controls.Add(label2);
|
||||||
Controls.Add(label1);
|
Controls.Add(label1);
|
||||||
Controls.Add(customDateTimePicker1);
|
Controls.Add(StartEducationDataPicker);
|
||||||
Controls.Add(visualSelectionComponent1);
|
Controls.Add(FormSelector);
|
||||||
Name = "CreateForm";
|
Name = "CreateForm";
|
||||||
Text = "CreateForm";
|
Text = "CreateForm";
|
||||||
Load += CreateForm_Load;
|
Load += CreateForm_LoadAsync;
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown1).EndInit();
|
((System.ComponentModel.ISupportInitialize)session1Score).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown2).EndInit();
|
((System.ComponentModel.ISupportInitialize)session2Score).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown3).EndInit();
|
((System.ComponentModel.ISupportInitialize)session3Score).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown4).EndInit();
|
((System.ComponentModel.ISupportInitialize)session6Score).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown5).EndInit();
|
((System.ComponentModel.ISupportInitialize)session5Score).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)numericUpDown6).EndInit();
|
((System.ComponentModel.ISupportInitialize)session4Score).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private CustomsComponentsVar2.CustomDateTimePicker customDateTimePicker1;
|
private CustomsComponentsVar2.CustomDateTimePicker StartEducationDataPicker;
|
||||||
private ComponentsLab.VisualSelectionComponent visualSelectionComponent1;
|
private ComponentsLab.VisualSelectionComponent FormSelector;
|
||||||
private Label label1;
|
private Label label1;
|
||||||
private Label label2;
|
private Label label2;
|
||||||
private TextBox textBox1;
|
private TextBox NameTextBox;
|
||||||
private Label label3;
|
private Label label3;
|
||||||
private NumericUpDown numericUpDown1;
|
private NumericUpDown session1Score;
|
||||||
private Label label4;
|
private Label label4;
|
||||||
private Label label5;
|
private Label label5;
|
||||||
private Label label6;
|
private Label label6;
|
||||||
private NumericUpDown numericUpDown2;
|
private NumericUpDown session2Score;
|
||||||
private Label label7;
|
private Label label7;
|
||||||
private NumericUpDown numericUpDown3;
|
private NumericUpDown session3Score;
|
||||||
private Label label8;
|
private Label label8;
|
||||||
private NumericUpDown numericUpDown4;
|
private NumericUpDown session6Score;
|
||||||
private Label label9;
|
private Label label9;
|
||||||
private NumericUpDown numericUpDown5;
|
private NumericUpDown session5Score;
|
||||||
private Label label10;
|
private Label label10;
|
||||||
private NumericUpDown numericUpDown6;
|
private NumericUpDown session4Score;
|
||||||
private Button button1;
|
private Button ButtonSave;
|
||||||
private Button button2;
|
private Button buttonCancel;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,17 +1,87 @@
|
|||||||
using Lab3.Database.Repository.Interfaces;
|
using Lab3.Database.DTO;
|
||||||
|
using Lab3.Database.Models;
|
||||||
|
using Lab3.Database.Repository.Interfaces;
|
||||||
|
|
||||||
namespace Lab3.Forms
|
namespace Lab3.Forms
|
||||||
{
|
{
|
||||||
public partial class CreateForm : Form
|
public partial class CreateForm : Form
|
||||||
{
|
{
|
||||||
public CreateForm(IStudentRepository student)
|
private readonly IStudentRepository _studentRepository;
|
||||||
|
|
||||||
|
private readonly IEducationFormRepository _educationFormRepository;
|
||||||
|
|
||||||
|
private readonly Guid? _updatedStudentGuid = null;
|
||||||
|
|
||||||
|
public CreateForm(
|
||||||
|
IStudentRepository studentRepository,
|
||||||
|
IEducationFormRepository educationFormRepository,
|
||||||
|
Guid? updatedStudentGuid)
|
||||||
{
|
{
|
||||||
|
_studentRepository = studentRepository;
|
||||||
|
_educationFormRepository = educationFormRepository;
|
||||||
|
|
||||||
|
_updatedStudentGuid = updatedStudentGuid;
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CreateForm_Load(object sender, EventArgs e)
|
private async void CreateForm_LoadAsync(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
FormSelector.Fill(await _educationFormRepository.Get());
|
||||||
|
StartEducationDataPicker.DateStart = DateTime.Now.AddYears(-6);
|
||||||
|
StartEducationDataPicker.DateEnd = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void ButtonSave_ClickAsync(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(NameTextBox.Text)
|
||||||
|
|| string.IsNullOrEmpty(FormSelector.ComboBoxSelectedValue))
|
||||||
|
{
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
|
||||||
|
StudentDTO student = new()
|
||||||
|
{
|
||||||
|
Id = _updatedStudentGuid ?? Guid.NewGuid(),
|
||||||
|
Name = NameTextBox.Text,
|
||||||
|
StartEducation = StartEducationDataPicker.Value,
|
||||||
|
EducationForm = FormSelector.ComboBoxSelectedValue,
|
||||||
|
StudentSessions = [
|
||||||
|
new(){
|
||||||
|
Score = session1Score.Value,
|
||||||
|
Number = 1,
|
||||||
|
},
|
||||||
|
new(){
|
||||||
|
Score = session2Score.Value,
|
||||||
|
Number = 2,
|
||||||
|
},
|
||||||
|
new(){
|
||||||
|
Score = session3Score.Value,
|
||||||
|
Number = 3,
|
||||||
|
},
|
||||||
|
new(){
|
||||||
|
Score = session4Score.Value,
|
||||||
|
Number = 4,
|
||||||
|
},
|
||||||
|
new(){
|
||||||
|
Score = session5Score.Value,
|
||||||
|
Number = 5,
|
||||||
|
},
|
||||||
|
new(){
|
||||||
|
Score = session6Score.Value,
|
||||||
|
Number = 6,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_updatedStudentGuid != null)
|
||||||
|
{
|
||||||
|
await _studentRepository.UpdateAsync(student);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await _studentRepository.CreateAsync(student);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ namespace Lab3.Forms
|
|||||||
|
|
||||||
private async void MainForm_LoadAsync(object sender, EventArgs e)
|
private async void MainForm_LoadAsync(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var students = _mapper.Map<List<StudentViewModel>>(await _studentRepository.Get());
|
var students = _mapper.Map<List<StudentViewModel>>(await _studentRepository.GetAsync());
|
||||||
StudentsListBox.FillListBox(students);
|
StudentsListBox.FillListBox(students);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ComponentsLibraryLab1" Version="1.0.0" />
|
<PackageReference Include="ComponentsLibraryLab1" Version="8.0.2" />
|
||||||
<PackageReference Include="ComponentsLibraryLab2" Version="1.0.0" />
|
<PackageReference Include="ComponentsLibraryLab2" Version="8.0.1" />
|
||||||
<PackageReference Include="Cop.Borovkov.Var3" Version="8.0.1" />
|
<PackageReference Include="Cop.Borovkov.Var3" Version="8.0.1" />
|
||||||
<PackageReference Include="CustomComponentsVar2" Version="8.0.2" />
|
<PackageReference Include="CustomComponentsVar2" Version="8.0.2" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
|
||||||
|
@ -21,7 +21,7 @@ namespace Lab3
|
|||||||
|
|
||||||
var app = CreateHostBuilder().Build();
|
var app = CreateHostBuilder().Build();
|
||||||
|
|
||||||
Application.Run(app.Services.GetRequiredService<CreateForm>());
|
Application.Run(app.Services.GetRequiredService<Func<Guid?, CreateForm>>()(null));
|
||||||
}
|
}
|
||||||
|
|
||||||
static IHostBuilder CreateHostBuilder()
|
static IHostBuilder CreateHostBuilder()
|
||||||
|
Loading…
Reference in New Issue
Block a user