From 69d271b9a2215121dee620c3e7bb8dee60997a49 Mon Sep 17 00:00:00 2001 From: "ns.potapov" Date: Wed, 8 May 2024 01:46:11 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5?= =?UTF-8?q?=D1=82=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=B8=D0=B0=D0=B3=D0=BD=D0=BE=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractPostgresqlStorage.cs | 2 +- .../Diagnoses/FormDiagnoses.Designer.cs | 117 +++++++++++++++++ .../MedicalView/Diagnoses/FormDiagnoses.cs | 44 +++++++ .../MedicalView/Diagnoses/FormDiagnoses.resx | 123 ++++++++++++++++++ Medical/MedicalView/FormMain.Designer.cs | 58 +++++---- Medical/MedicalView/FormMain.cs | 11 +- Medical/MedicalView/MedicalView.csproj | 10 ++ Medical/MedicalView/Program.cs | 2 +- Medical/MedicalView/nlog.config | 16 +++ 9 files changed, 357 insertions(+), 26 deletions(-) create mode 100644 Medical/MedicalView/Diagnoses/FormDiagnoses.Designer.cs create mode 100644 Medical/MedicalView/Diagnoses/FormDiagnoses.cs create mode 100644 Medical/MedicalView/Diagnoses/FormDiagnoses.resx create mode 100644 Medical/MedicalView/nlog.config diff --git a/Medical/MedicalPostgresqlDatabase/AbstractPostgresqlStorage.cs b/Medical/MedicalPostgresqlDatabase/AbstractPostgresqlStorage.cs index 4de008e..34fab64 100644 --- a/Medical/MedicalPostgresqlDatabase/AbstractPostgresqlStorage.cs +++ b/Medical/MedicalPostgresqlDatabase/AbstractPostgresqlStorage.cs @@ -13,7 +13,7 @@ namespace MedicalPostgresqlDatabase public abstract void Update(T item); protected NpgsqlConnection GetConnection() { - return new NpgsqlConnection("Host=127.0.0.1;Port=5555;Username=elina;Database=beauty_salon;Password=elina"); + return new NpgsqlConnection("Host=127.0.0.1;Port=5555;Username=postgres;Database=medicalbase;Password=postgres"); } } } diff --git a/Medical/MedicalView/Diagnoses/FormDiagnoses.Designer.cs b/Medical/MedicalView/Diagnoses/FormDiagnoses.Designer.cs new file mode 100644 index 0000000..dfb793a --- /dev/null +++ b/Medical/MedicalView/Diagnoses/FormDiagnoses.Designer.cs @@ -0,0 +1,117 @@ +namespace MedicalView +{ + partial class FormDiagnoses + { + /// + /// 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() + { + dataGridView = new DataGridView(); + menuStrip = new MenuStrip(); + обновитьToolStripMenuItem = new ToolStripMenuItem(); + добавитьToolStripMenuItem = new ToolStripMenuItem(); + изменитьToolStripMenuItem = new ToolStripMenuItem(); + удалитьToolStripMenuItem = new ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + menuStrip.SuspendLayout(); + SuspendLayout(); + // + // dataGridView + // + dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Dock = DockStyle.Fill; + dataGridView.Location = new Point(0, 28); + dataGridView.MultiSelect = false; + dataGridView.Name = "dataGridView"; + dataGridView.RowHeadersVisible = false; + dataGridView.RowHeadersWidth = 51; + dataGridView.RowTemplate.Height = 29; + dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridView.Size = new Size(800, 422); + dataGridView.TabIndex = 3; + // + // menuStrip + // + menuStrip.ImageScalingSize = new Size(20, 20); + menuStrip.Items.AddRange(new ToolStripItem[] { обновитьToolStripMenuItem, добавитьToolStripMenuItem, изменитьToolStripMenuItem, удалитьToolStripMenuItem }); + menuStrip.Location = new Point(0, 0); + menuStrip.Name = "menuStrip"; + menuStrip.Size = new Size(800, 28); + menuStrip.TabIndex = 4; + menuStrip.Text = "menuStrip1"; + // + // обновитьToolStripMenuItem + // + обновитьToolStripMenuItem.Name = "обновитьToolStripMenuItem"; + обновитьToolStripMenuItem.Size = new Size(92, 24); + обновитьToolStripMenuItem.Text = "Обновить"; + обновитьToolStripMenuItem.Click += this.RefreshToolStripMenuItem_Click; + // + // добавитьToolStripMenuItem + // + добавитьToolStripMenuItem.Name = "добавитьToolStripMenuItem"; + добавитьToolStripMenuItem.Size = new Size(90, 24); + добавитьToolStripMenuItem.Text = "Добавить"; + // + // изменитьToolStripMenuItem + // + изменитьToolStripMenuItem.Name = "изменитьToolStripMenuItem"; + изменитьToolStripMenuItem.Size = new Size(92, 24); + изменитьToolStripMenuItem.Text = "Изменить"; + // + // удалитьToolStripMenuItem + // + удалитьToolStripMenuItem.Name = "удалитьToolStripMenuItem"; + удалитьToolStripMenuItem.Size = new Size(79, 24); + удалитьToolStripMenuItem.Text = "Удалить"; + // + // FormDiagnoses + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridView); + Controls.Add(menuStrip); + MainMenuStrip = menuStrip; + Name = "FormDiagnoses"; + Text = "Диагнозы"; + Load += FormDiagnoses_Load; + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + menuStrip.ResumeLayout(false); + menuStrip.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + private DataGridView dataGridView; + private MenuStrip menuStrip; + private ToolStripMenuItem обновитьToolStripMenuItem; + private ToolStripMenuItem добавитьToolStripMenuItem; + private ToolStripMenuItem изменитьToolStripMenuItem; + private ToolStripMenuItem удалитьToolStripMenuItem; + } +} \ No newline at end of file diff --git a/Medical/MedicalView/Diagnoses/FormDiagnoses.cs b/Medical/MedicalView/Diagnoses/FormDiagnoses.cs new file mode 100644 index 0000000..a9bd2b8 --- /dev/null +++ b/Medical/MedicalView/Diagnoses/FormDiagnoses.cs @@ -0,0 +1,44 @@ +using MedicalDatabaseContracts; +using MedicalDatabaseContracts.Models; +using Microsoft.Extensions.Logging; + +namespace MedicalView +{ + public partial class FormDiagnoses : Form + { + private ILogger _logger; + private IStorage _diagnosesStorage; + public FormDiagnoses(ILogger logger, IStorage diagnosesStorage) + { + InitializeComponent(); + _logger = logger; + _diagnosesStorage = diagnosesStorage; + } + + private void FormDiagnoses_Load(object sender, EventArgs e) + { + LoadData(); + } + + private void RefreshToolStripMenuItem_Click(object sender, EventArgs e) + { + LoadData(); + } + + private void LoadData() + { + try + { + var diagnoses = _diagnosesStorage.GetAll(); + dataGridView.DataSource = diagnoses; + _logger.LogInformation("Список диагнозов загружен успешно"); + } + catch (Exception ex) + { + string errorMessage = "Ошибка загрузки списка диагнозов"; + _logger.LogError(string.Join(", ", errorMessage, $"\"{ex.Message}\"")); + MessageBox.Show(string.Join("\n\n", errorMessage, $"{ex.Message}"), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/Medical/MedicalView/Diagnoses/FormDiagnoses.resx b/Medical/MedicalView/Diagnoses/FormDiagnoses.resx new file mode 100644 index 0000000..6c82d08 --- /dev/null +++ b/Medical/MedicalView/Diagnoses/FormDiagnoses.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/Medical/MedicalView/FormMain.Designer.cs b/Medical/MedicalView/FormMain.Designer.cs index ea3888e..17e4d93 100644 --- a/Medical/MedicalView/FormMain.Designer.cs +++ b/Medical/MedicalView/FormMain.Designer.cs @@ -48,10 +48,12 @@ // // menuStrip // + menuStrip.ImageScalingSize = new Size(20, 20); menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, пациентыToolStripMenuItem1 }); menuStrip.Location = new Point(0, 0); menuStrip.Name = "menuStrip"; - menuStrip.Size = new Size(755, 24); + menuStrip.Padding = new Padding(7, 3, 0, 3); + menuStrip.Size = new Size(863, 30); menuStrip.TabIndex = 0; menuStrip.Text = "menuStrip1"; // @@ -59,42 +61,45 @@ // справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { специализацииToolStripMenuItem, диагнозыToolStripMenuItem, врачиToolStripMenuItem }); справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; - справочникиToolStripMenuItem.Size = new Size(94, 20); + справочникиToolStripMenuItem.Size = new Size(117, 24); справочникиToolStripMenuItem.Text = "Справочники"; // // специализацииToolStripMenuItem // специализацииToolStripMenuItem.Name = "специализацииToolStripMenuItem"; - специализацииToolStripMenuItem.Size = new Size(161, 22); + специализацииToolStripMenuItem.Size = new Size(224, 26); специализацииToolStripMenuItem.Text = "Специализации"; // // диагнозыToolStripMenuItem // диагнозыToolStripMenuItem.Name = "диагнозыToolStripMenuItem"; - диагнозыToolStripMenuItem.Size = new Size(161, 22); + диагнозыToolStripMenuItem.Size = new Size(224, 26); диагнозыToolStripMenuItem.Text = "Диагнозы"; + диагнозыToolStripMenuItem.Click += DiagnosesToolStripMenuItem_Click; // // врачиToolStripMenuItem // врачиToolStripMenuItem.Name = "врачиToolStripMenuItem"; - врачиToolStripMenuItem.Size = new Size(161, 22); + врачиToolStripMenuItem.Size = new Size(224, 26); врачиToolStripMenuItem.Text = "Врачи"; // // пациентыToolStripMenuItem1 // пациентыToolStripMenuItem1.Name = "пациентыToolStripMenuItem1"; - пациентыToolStripMenuItem1.Size = new Size(75, 20); + пациентыToolStripMenuItem1.Size = new Size(94, 24); пациентыToolStripMenuItem1.Text = "Пациенты"; // // dataGridView // dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; dataGridView.Dock = DockStyle.Fill; - dataGridView.Location = new Point(0, 24); + dataGridView.Location = new Point(0, 30); + dataGridView.Margin = new Padding(3, 4, 3, 4); dataGridView.Name = "dataGridView"; + dataGridView.RowHeadersWidth = 51; dataGridView.RowTemplate.Height = 25; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dataGridView.Size = new Size(755, 277); + dataGridView.Size = new Size(863, 371); dataGridView.TabIndex = 1; // // panel @@ -105,17 +110,19 @@ panel.Controls.Add(dateTimePicker1); panel.Controls.Add(comboBoxDoctor); panel.Dock = DockStyle.Top; - panel.Location = new Point(0, 24); + panel.Location = new Point(0, 30); + panel.Margin = new Padding(3, 4, 3, 4); panel.Name = "panel"; - panel.Size = new Size(755, 29); + panel.Size = new Size(863, 39); panel.TabIndex = 2; // // buttonEdit // buttonEdit.Anchor = AnchorStyles.Left; - buttonEdit.Location = new Point(418, 2); + buttonEdit.Location = new Point(478, 3); + buttonEdit.Margin = new Padding(3, 4, 3, 4); buttonEdit.Name = "buttonEdit"; - buttonEdit.Size = new Size(75, 23); + buttonEdit.Size = new Size(86, 31); buttonEdit.TabIndex = 4; buttonEdit.Text = "Изменить"; buttonEdit.UseVisualStyleBackColor = true; @@ -123,9 +130,10 @@ // buttonDelete // buttonDelete.Anchor = AnchorStyles.Left; - buttonDelete.Location = new Point(499, 2); + buttonDelete.Location = new Point(570, 3); + buttonDelete.Margin = new Padding(3, 4, 3, 4); buttonDelete.Name = "buttonDelete"; - buttonDelete.Size = new Size(75, 23); + buttonDelete.Size = new Size(86, 31); buttonDelete.TabIndex = 3; buttonDelete.Text = "Удалить"; buttonDelete.UseVisualStyleBackColor = true; @@ -133,9 +141,10 @@ // buttonAdd // buttonAdd.Anchor = AnchorStyles.Left; - buttonAdd.Location = new Point(337, 2); + buttonAdd.Location = new Point(385, 3); + buttonAdd.Margin = new Padding(3, 4, 3, 4); buttonAdd.Name = "buttonAdd"; - buttonAdd.Size = new Size(75, 23); + buttonAdd.Size = new Size(86, 31); buttonAdd.TabIndex = 2; buttonAdd.Text = "Добавить"; buttonAdd.UseVisualStyleBackColor = true; @@ -143,9 +152,10 @@ // dateTimePicker1 // dateTimePicker1.Anchor = AnchorStyles.Left; - dateTimePicker1.Location = new Point(181, 3); + dateTimePicker1.Location = new Point(207, 4); + dateTimePicker1.Margin = new Padding(3, 4, 3, 4); dateTimePicker1.Name = "dateTimePicker1"; - dateTimePicker1.Size = new Size(139, 23); + dateTimePicker1.Size = new Size(158, 27); dateTimePicker1.TabIndex = 1; // // comboBoxDoctor @@ -153,21 +163,23 @@ comboBoxDoctor.Anchor = AnchorStyles.Left; comboBoxDoctor.DropDownStyle = ComboBoxStyle.DropDownList; comboBoxDoctor.FormattingEnabled = true; - comboBoxDoctor.Location = new Point(3, 3); + comboBoxDoctor.Location = new Point(3, 4); + comboBoxDoctor.Margin = new Padding(3, 4, 3, 4); comboBoxDoctor.Name = "comboBoxDoctor"; - comboBoxDoctor.Size = new Size(172, 23); + comboBoxDoctor.Size = new Size(196, 28); comboBoxDoctor.TabIndex = 0; // // FormMain // - AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleDimensions = new SizeF(8F, 20F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(755, 301); + ClientSize = new Size(863, 401); Controls.Add(panel); Controls.Add(dataGridView); Controls.Add(menuStrip); MainMenuStrip = menuStrip; - MinimumSize = new Size(600, 340); + Margin = new Padding(3, 4, 3, 4); + MinimumSize = new Size(683, 438); Name = "FormMain"; Text = "Записи посещений"; Load += FormMain_Load; diff --git a/Medical/MedicalView/FormMain.cs b/Medical/MedicalView/FormMain.cs index 2e82ff4..19fbf1f 100644 --- a/Medical/MedicalView/FormMain.cs +++ b/Medical/MedicalView/FormMain.cs @@ -9,7 +9,16 @@ private void FormMain_Load(object sender, EventArgs e) { - + + } + + private void DiagnosesToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(FormDiagnoses)); + if (service is FormDiagnoses form) + { + form.ShowDialog(); + } } } } diff --git a/Medical/MedicalView/MedicalView.csproj b/Medical/MedicalView/MedicalView.csproj index a98a0fb..66ee857 100644 --- a/Medical/MedicalView/MedicalView.csproj +++ b/Medical/MedicalView/MedicalView.csproj @@ -8,6 +8,16 @@ enable + + + + + + + Always + + + diff --git a/Medical/MedicalView/Program.cs b/Medical/MedicalView/Program.cs index 2632000..d2c0cd8 100644 --- a/Medical/MedicalView/Program.cs +++ b/Medical/MedicalView/Program.cs @@ -35,10 +35,10 @@ namespace MedicalView option.SetMinimumLevel(LogLevel.Information); option.AddNLog("nlog.config"); }); - ////services.AddTransient(); services.AddTransient, DiagnosesStorage>(); services.AddTransient(); + services.AddTransient(); } } } \ No newline at end of file diff --git a/Medical/MedicalView/nlog.config b/Medical/MedicalView/nlog.config new file mode 100644 index 0000000..036b2f8 --- /dev/null +++ b/Medical/MedicalView/nlog.config @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file