Добавление записи работает

This commit is contained in:
bekodeg 2024-11-07 13:41:24 +04:00
parent 8563387642
commit 2c0e6b13f5
10 changed files with 263 additions and 150 deletions

View File

@ -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; }

View File

@ -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()));
} }
} }
} }

View File

@ -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);
}
} }
} }

View File

@ -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);
} }
} }

View File

@ -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;
} }

View File

@ -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;
} }
} }

View File

@ -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);
}
} }
} }
} }

View File

@ -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);
} }
} }

View File

@ -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" />

View File

@ -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()