diff --git a/KopLab1/FormLibrary/ComponentHistogramToPdf.Designer.cs b/KopLab1/FormLibrary/ComponentHistogramToPdf.Designer.cs
deleted file mode 100644
index dd57dd7..0000000
--- a/KopLab1/FormLibrary/ComponentHistogramToPdf.Designer.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-namespace FormLibrary
-{
- partial class ComponentHistogramToPdf
- {
- ///
- /// Обязательная переменная конструктора.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Освободить все используемые ресурсы.
- ///
- /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Код, автоматически созданный конструктором компонентов
-
- ///
- /// Требуемый метод для поддержки конструктора — не изменяйте
- /// содержимое этого метода с помощью редактора кода.
- ///
- private void InitializeComponent()
- {
- components = new System.ComponentModel.Container();
- }
-
- #endregion
- }
-}
diff --git a/KopLab1/FormLibrary/ComponentHistogramToPdf.cs b/KopLab1/FormLibrary/ComponentHistogramToPdf.cs
deleted file mode 100644
index 7a8bf8a..0000000
--- a/KopLab1/FormLibrary/ComponentHistogramToPdf.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-using FormLibrary.HelperClasses;
-using MigraDoc.DocumentObjectModel;
-using MigraDoc.Rendering;
-using OxyPlot.Series;
-using OxyPlot;
-using System.ComponentModel;
-using OxyPlot.WindowsForms;
-using OxyPlot.Legends;
-
-
-namespace FormLibrary
-{
- public partial class ComponentHistogramToPdf : Component
- {
- public ComponentHistogramToPdf()
- {
- InitializeComponent();
- System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
- }
-
- public ComponentHistogramToPdf(IContainer container)
- {
- container.Add(this);
-
- InitializeComponent();
- }
- public void CreateHistogramPdf(string filePath, string documentTitle, string chartTitle, LegendPosition legendPosition, List chartData)
- {
- if (string.IsNullOrEmpty(filePath))
- throw new ArgumentException("Путь к файлу не может быть пустым.");
- if (string.IsNullOrEmpty(documentTitle))
- throw new ArgumentException("Название документа не может быть пустым.");
- if (string.IsNullOrEmpty(chartTitle))
- throw new ArgumentException("Заголовок диаграммы не может быть пустым.");
- if (chartData == null || chartData.Count == 0)
- throw new ArgumentException("Набор данных не может быть пустым.");
-
- foreach (var data in chartData)
- {
- if (string.IsNullOrEmpty(data.SeriesName) || data.Data == null || data.Data.Count == 0)
- throw new ArgumentException($"Набор данных для серии '{data.SeriesName}' некорректен.");
- }
-
- // создание графика
- var plotModel = new PlotModel { Title = chartTitle };
-
- foreach (var data in chartData)
- {
- var barSeries = new BarSeries { Title = data.SeriesName };
- foreach (var item in data.Data)
- {
- barSeries.Items.Add(new BarItem(item.Value));
- }
- plotModel.Series.Add(barSeries);
- }
-
- // Добавление легенды
- AddLegend(plotModel, legendPosition);
-
- // сохранение графика в изображение
- var pngExporter = new PngExporter { Width = 600, Height = 400 };
- using (var stream = new MemoryStream())
- {
- pngExporter.Export(plotModel, stream);
- File.WriteAllBytes("chart.png", stream.ToArray());
- }
-
- // создание документа
- Document document = new Document();
- document.Info.Title = documentTitle;
- document.Info.Subject = "Гистограмма";
-
- Section section = document.AddSection();
- section.AddParagraph(chartTitle, "Heading1");
-
- // вставка изображения в PDF
- var image = section.AddImage("chart.png");
- image.Width = Unit.FromCentimeter(15);
-
- PdfDocumentRenderer renderer = new PdfDocumentRenderer(true) { Document = document };
- renderer.RenderDocument();
- renderer.PdfDocument.Save(filePath);
-
- File.Delete("chart.png");
- }
-
- //добавление легенды
- private void AddLegend(PlotModel plotModel, LegendPosition legendPosition)
- {
- // Создание легенды
- var legend = new OxyPlot.Legends.Legend
- {
- LegendPlacement = LegendPlacement.Outside,
- LegendPosition = legendPosition,
- LegendOrientation = LegendOrientation.Vertical
- };
-
- plotModel.Legends.Add(legend);
- }
- }
-}
diff --git a/KopLab1/FormLibrary/CustomListBox.Designer.cs b/KopLab1/FormLibrary/CustomListBox.Designer.cs
deleted file mode 100644
index fc24a8e..0000000
--- a/KopLab1/FormLibrary/CustomListBox.Designer.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-namespace FormLibrary
-{
- partial class CustomListBox
- {
- ///
- /// Обязательная переменная конструктора.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Освободить все используемые ресурсы.
- ///
- /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Код, автоматически созданный конструктором компонентов
-
- ///
- /// Требуемый метод для поддержки конструктора — не изменяйте
- /// содержимое этого метода с помощью редактора кода.
- ///
- private void InitializeComponent()
- {
- listBox1 = new ListBox();
- SuspendLayout();
- //
- // listBox1
- //
- listBox1.FormattingEnabled = true;
- listBox1.ItemHeight = 15;
- listBox1.Location = new Point(3, 3);
- listBox1.Name = "listBox1";
- listBox1.Size = new Size(231, 169);
- listBox1.TabIndex = 0;
- listBox1.SelectedIndexChanged += ListBox1_SelectedIndexChanged;
- //
- // CustomListBox
- //
- AutoScaleDimensions = new SizeF(7F, 15F);
- AutoScaleMode = AutoScaleMode.Font;
- Controls.Add(listBox1);
- Name = "CustomListBox";
- Size = new Size(237, 179);
- ResumeLayout(false);
- }
-
- #endregion
-
- private ListBox listBox1;
- }
-}
diff --git a/KopLab1/FormLibrary/CustomListBox.cs b/KopLab1/FormLibrary/CustomListBox.cs
deleted file mode 100644
index 84a6cfc..0000000
--- a/KopLab1/FormLibrary/CustomListBox.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-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 static System.Windows.Forms.VisualStyles.VisualStyleElement.Header;
-
-namespace FormLibrary
-{
- public partial class CustomListBox : UserControl
- {
-
- public event EventHandler? SelectedItemChanged;
- public CustomListBox()
- {
- InitializeComponent();
- }
-
- public string SelectedItem
- {
- get
- {
- if (listBox1.SelectedItem != null)
- {
- return listBox1.SelectedItem.ToString();
- }
- return string.Empty;
- }
- set
- {
- int index = listBox1.Items.IndexOf(value);
- if (index >= 0)
- {
- listBox1.SelectedIndex = index;
- }
- }
- }
-
-
- private void ListBox1_SelectedIndexChanged(object? sender, EventArgs e)
- {
- SelectedItemChanged?.Invoke(this, EventArgs.Empty);
- }
- public void PopulateListBox(List items)
- {
- listBox1.Items.Clear();
-
- foreach (var item in items)
- {
- listBox1.Items.Add(item);
- }
- }
- public void ClearListBox()
- {
- listBox1.Items.Clear();
- }
- }
-}
diff --git a/KopLab1/FormLibrary/CustomListBox.resx b/KopLab1/FormLibrary/CustomListBox.resx
deleted file mode 100644
index 8b2ff64..0000000
--- a/KopLab1/FormLibrary/CustomListBox.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/KopLab1/FormLibrary/Exceptions/EmptyValueException.cs b/KopLab1/FormLibrary/Exceptions/EmptyValueException.cs
deleted file mode 100644
index 9ac3854..0000000
--- a/KopLab1/FormLibrary/Exceptions/EmptyValueException.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.Exceptions
-{
- public class EmptyValueException : Exception
- {
- public EmptyValueException() : base("Значение не заполнено.") { }
- }
-}
diff --git a/KopLab1/FormLibrary/Exceptions/InvalidValueTypeException.cs b/KopLab1/FormLibrary/Exceptions/InvalidValueTypeException.cs
deleted file mode 100644
index 09cc6df..0000000
--- a/KopLab1/FormLibrary/Exceptions/InvalidValueTypeException.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.Exceptions
-{
- public class InvalidValueTypeException : Exception
- {
- public InvalidValueTypeException() : base("Значение не соответствует требуемому типу.") { }
- }
-}
diff --git a/KopLab1/FormLibrary/FormLibrary.csproj b/KopLab1/FormLibrary/FormLibrary.csproj
deleted file mode 100644
index 8a64cb8..0000000
--- a/KopLab1/FormLibrary/FormLibrary.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- net8.0-windows
- enable
- true
- enable
-
-
-
-
-
-
-
-
-
-
diff --git a/KopLab1/FormLibrary/HelperClasses/ChartData.cs b/KopLab1/FormLibrary/HelperClasses/ChartData.cs
deleted file mode 100644
index 2abfa48..0000000
--- a/KopLab1/FormLibrary/HelperClasses/ChartData.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.HelperClasses
-{
- public class ChartData
- {
- public string SeriesName { get; set; }
- public Dictionary Data { get; set; } // Ключ — категория, значение — значение для гистограммы
- }
-
-}
diff --git a/KopLab1/FormLibrary/HelperClasses/ColumnConfig.cs b/KopLab1/FormLibrary/HelperClasses/ColumnConfig.cs
deleted file mode 100644
index bcf1056..0000000
--- a/KopLab1/FormLibrary/HelperClasses/ColumnConfig.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.HelperClasses
-{
- public class ColumnConfig
- {
- public string HeaderText { get; set; }
- public int Width { get; set; }
- public bool IsVisible { get; set; }
- public string PropertyName { get; set; }
- }
-}
diff --git a/KopLab1/FormLibrary/HelperClasses/LegendPositions.cs b/KopLab1/FormLibrary/HelperClasses/LegendPositions.cs
deleted file mode 100644
index 5d03e7f..0000000
--- a/KopLab1/FormLibrary/HelperClasses/LegendPositions.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.HelperClasses
-{
- public enum LegendPositions
- {
- Top,
- Bottom,
- Left,
- Right
- }
-}
diff --git a/KopLab1/FormLibrary/HelperClasses/PDFTableSettings.cs b/KopLab1/FormLibrary/HelperClasses/PDFTableSettings.cs
deleted file mode 100644
index 69188fa..0000000
--- a/KopLab1/FormLibrary/HelperClasses/PDFTableSettings.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.HelperClasses
-{
- public class PDFTableSettings
- {
- public string FilePath { get; set; }
- public string DocumentTitle { get; set; }
- public List<(string HeaderTitle, float Width, string PropertyName, int ColumnIndex)> Columns { get; set; }
- public float HeaderRowHeight { get; set; }
- public float DataRowHeight { get; set; }
- public List DataList { get; set; }
- }
-
-}
diff --git a/KopLab1/FormLibrary/HelperClasses/PdfDocumentData.cs b/KopLab1/FormLibrary/HelperClasses/PdfDocumentData.cs
deleted file mode 100644
index f7ad35e..0000000
--- a/KopLab1/FormLibrary/HelperClasses/PdfDocumentData.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.HelperClasses
-{
- public class PdfDocumentData
- {
- public string FileName { get; set; }
- public string DocumentTitle { get; set; }
- public List Tables { get; set; }
-
- public PdfDocumentData(string fileName, string documentTitle, List tables)
- {
- FileName = fileName ?? throw new ArgumentNullException(nameof(fileName));
- DocumentTitle = documentTitle ?? throw new ArgumentNullException(nameof(documentTitle));
- Tables = tables ?? throw new ArgumentNullException(nameof(tables));
- }
- }
-
-}
diff --git a/KopLab1/FormLibrary/HelperClasses/Student.cs b/KopLab1/FormLibrary/HelperClasses/Student.cs
deleted file mode 100644
index ef78de1..0000000
--- a/KopLab1/FormLibrary/HelperClasses/Student.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary.HelperClasses
-{
- public class Student
- {
- public int Number { get; set; }
- public string Group { get; set; }
- public string FullName { get; set; }
- public int Course { get; set; }
- }
-}
diff --git a/KopLab1/FormLibrary/IntegerInputControl.Designer.cs b/KopLab1/FormLibrary/IntegerInputControl.Designer.cs
deleted file mode 100644
index 91a5670..0000000
--- a/KopLab1/FormLibrary/IntegerInputControl.Designer.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-namespace FormLibrary
-{
- partial class IntegerInputControl
- {
- ///
- /// Обязательная переменная конструктора.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Освободить все используемые ресурсы.
- ///
- /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Код, автоматически созданный конструктором компонентов
-
- ///
- /// Требуемый метод для поддержки конструктора — не изменяйте
- /// содержимое этого метода с помощью редактора кода.
- ///
- private void InitializeComponent()
- {
- checkBoxNull = new CheckBox();
- textBoxInput = new TextBox();
- SuspendLayout();
- //
- // checkBoxNull
- //
- checkBoxNull.AutoSize = true;
- checkBoxNull.Location = new Point(13, 17);
- checkBoxNull.Name = "checkBoxNull";
- checkBoxNull.Size = new Size(15, 14);
- checkBoxNull.TabIndex = 0;
- checkBoxNull.UseVisualStyleBackColor = true;
- //
- // textBoxInput
- //
- textBoxInput.Location = new Point(34, 13);
- textBoxInput.Name = "textBoxInput";
- textBoxInput.Size = new Size(100, 23);
- textBoxInput.TabIndex = 1;
- //
- // IntegerInputControl
- //
- AutoScaleDimensions = new SizeF(7F, 15F);
- AutoScaleMode = AutoScaleMode.Font;
- Controls.Add(textBoxInput);
- Controls.Add(checkBoxNull);
- Name = "IntegerInputControl";
- Size = new Size(146, 49);
- ResumeLayout(false);
- PerformLayout();
- }
-
- #endregion
-
- private CheckBox checkBoxNull;
- private TextBox textBoxInput;
- }
-}
diff --git a/KopLab1/FormLibrary/IntegerInputControl.cs b/KopLab1/FormLibrary/IntegerInputControl.cs
deleted file mode 100644
index 269c259..0000000
--- a/KopLab1/FormLibrary/IntegerInputControl.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-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 System;
-using System.Windows.Forms;
-using FormLibrary.Exceptions;
-
-namespace FormLibrary
-{
- public partial class IntegerInputControl : UserControl
- {
- public event EventHandler? ValueChanged;
-
- public event EventHandler? CheckBoxChanged;
-
- public IntegerInputControl()
- {
- InitializeComponent();
-
- checkBoxNull.CheckedChanged += CheckBoxNull_CheckedChanged;
- textBoxInput.TextChanged += TextBoxInput_TextChanged;
- }
-
- public int? Value
- {
- get
- {
- if (checkBoxNull.Checked)
- {
- return null;
- }
- else
- {
- if (string.IsNullOrWhiteSpace(textBoxInput.Text))
- {
- throw new EmptyValueException();
- }
-
- if (int.TryParse(textBoxInput.Text, out int result))
- {
- return result;
- }
- else
- {
- throw new InvalidValueTypeException();
- }
- }
- }
- set
- {
- if(value is not null)
- {
- textBoxInput.Text = value.ToString();
- }
- checkBoxNull.Checked = value is null;
- }
- }
-
- private void CheckBoxNull_CheckedChanged(object sender, EventArgs e)
- {
- textBoxInput.Enabled = !checkBoxNull.Checked;
- if (checkBoxNull.Checked)
- {
- textBoxInput.Text = string.Empty;
- }
- CheckBoxChanged?.Invoke(this, EventArgs.Empty);
- }
-
- private void TextBoxInput_TextChanged(object sender, EventArgs e)
- {
- ValueChanged?.Invoke(this, EventArgs.Empty);
- }
- }
-}
-
diff --git a/KopLab1/FormLibrary/IntegerInputControl.resx b/KopLab1/FormLibrary/IntegerInputControl.resx
deleted file mode 100644
index 8b2ff64..0000000
--- a/KopLab1/FormLibrary/IntegerInputControl.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/KopLab1/FormLibrary/PDFTable.Designer.cs b/KopLab1/FormLibrary/PDFTable.Designer.cs
deleted file mode 100644
index 16beb31..0000000
--- a/KopLab1/FormLibrary/PDFTable.Designer.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-namespace FormLibrary
-{
- partial class PDFTable
- {
- ///
- /// Обязательная переменная конструктора.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Освободить все используемые ресурсы.
- ///
- /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Код, автоматически созданный конструктором компонентов
-
- ///
- /// Требуемый метод для поддержки конструктора — не изменяйте
- /// содержимое этого метода с помощью редактора кода.
- ///
- private void InitializeComponent()
- {
- components = new System.ComponentModel.Container();
- }
-
- #endregion
- }
-}
diff --git a/KopLab1/FormLibrary/PDFTable.cs b/KopLab1/FormLibrary/PDFTable.cs
deleted file mode 100644
index d46223a..0000000
--- a/KopLab1/FormLibrary/PDFTable.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using FormLibrary.HelperClasses;
-using MigraDoc.DocumentObjectModel;
-using MigraDoc.DocumentObjectModel.Tables;
-using MigraDoc.Rendering;
-using System.ComponentModel;
-using Document = MigraDoc.DocumentObjectModel.Document;
-
-
-namespace FormLibrary
-{
- public partial class PDFTable : Component
- {
- public PDFTable()
- {
- InitializeComponent();
- System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
-
- }
-
- public PDFTable(IContainer container)
- {
- container.Add(this);
-
- InitializeComponent();
- }
-
- public void GeneratePdf(PdfDocumentData pdfData)
- {
- if (string.IsNullOrWhiteSpace(pdfData.FileName)) throw new ArgumentException("Имя файла не может быть пустым.");
- if (string.IsNullOrWhiteSpace(pdfData.DocumentTitle)) throw new ArgumentException("Название документа не может быть пустым.");
- if (pdfData.Tables == null || pdfData.Tables.Count == 0) throw new ArgumentException("Необходимо передать хотя бы одну таблицу.");
-
- Document document = new Document();
- Section section = document.AddSection();
-
- Paragraph title = section.AddParagraph();
- title.AddFormattedText(pdfData.DocumentTitle, TextFormat.Bold);
- title.Format.Alignment = ParagraphAlignment.Center;
- section.AddParagraph();
-
- foreach (var tableData in pdfData.Tables)
- {
- Table table = section.AddTable();
- int columnsCount = tableData.GetLength(1);
-
- for (int i = 0; i < columnsCount; i++)
- {
- Column column = table.AddColumn(Unit.FromCentimeter(3));
- }
-
- table.Borders.Width = 0.75;
- table.Borders.Color = Colors.Black;
-
- for (int i = 0; i < tableData.GetLength(0); i++)
- {
- Row row = table.AddRow();
- for (int j = 0; j < tableData.GetLength(1); j++)
- {
- row.Cells[j].AddParagraph(tableData[i, j]);
- }
- }
-
- section.AddParagraph();
- }
- PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(true);
- pdfRenderer.Document = document;
- pdfRenderer.RenderDocument();
- pdfRenderer.PdfDocument.Save(pdfData.FileName);
- }
-
- }
-}
diff --git a/KopLab1/FormLibrary/PDFTableCustom.Designer.cs b/KopLab1/FormLibrary/PDFTableCustom.Designer.cs
deleted file mode 100644
index 9cf32a3..0000000
--- a/KopLab1/FormLibrary/PDFTableCustom.Designer.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-namespace FormLibrary
-{
- partial class PDFTableCustom
- {
- ///
- /// Обязательная переменная конструктора.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Освободить все используемые ресурсы.
- ///
- /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Код, автоматически созданный конструктором компонентов
-
- ///
- /// Требуемый метод для поддержки конструктора — не изменяйте
- /// содержимое этого метода с помощью редактора кода.
- ///
- private void InitializeComponent()
- {
- components = new System.ComponentModel.Container();
- }
-
- #endregion
- }
-}
diff --git a/KopLab1/FormLibrary/PDFTableCustom.cs b/KopLab1/FormLibrary/PDFTableCustom.cs
deleted file mode 100644
index 3a127ce..0000000
--- a/KopLab1/FormLibrary/PDFTableCustom.cs
+++ /dev/null
@@ -1,95 +0,0 @@
-using FormLibrary.HelperClasses;
-using MigraDoc.DocumentObjectModel.Tables;
-using MigraDoc.DocumentObjectModel;
-using MigraDoc.Rendering;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace FormLibrary
-{
- public partial class PDFTableCustom : Component
- {
- public PDFTableCustom()
- {
- InitializeComponent();
- System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
- }
-
- public PDFTableCustom(IContainer container)
- {
- container.Add(this);
-
- InitializeComponent();
- }
- public void GeneratePDFWithHead(PDFTableSettings settings)
- {
- if (settings == null ||
- string.IsNullOrEmpty(settings.FilePath) ||
- string.IsNullOrEmpty(settings.DocumentTitle) ||
- settings.Columns == null || settings.Columns.Count == 0 ||
- settings.DataList == null)
- throw new ArgumentException("Заполнены не все необходимые данные для генерации документа.");
-
- Document document = new Document();
- Section section = document.AddSection();
- section.AddParagraph(settings.DocumentTitle, "Heading1");
-
- Table table = new Table();
- table.Borders.Width = 0.75;
-
- // столбцы
- foreach (var (_, width, _, _) in settings.Columns)
- {
- Column column = table.AddColumn(Unit.FromCentimeter(width));
- column.Format.Alignment = ParagraphAlignment.Center;
- }
-
- // заголовки
- Row headerRow = table.AddRow();
- headerRow.Height = Unit.FromCentimeter(settings.HeaderRowHeight);
-
- for (int columnIndex = 0; columnIndex < settings.Columns.Count; columnIndex++)
- {
- var (headerTitle, _, _, _) = settings.Columns[columnIndex];
- headerRow.Cells[columnIndex].AddParagraph(headerTitle);
- headerRow.Cells[columnIndex].Format.Font.Bold = true;
- headerRow.Cells[columnIndex].Format.Alignment = ParagraphAlignment.Center;
- }
-
- // данные
- foreach (var dataItem in settings.DataList)
- {
- Row row = table.AddRow();
- row.Height = Unit.FromCentimeter(settings.DataRowHeight);
-
- for (int columnIndex = 0; columnIndex < settings.Columns.Count; columnIndex++)
- {
- var (_, _, propertyName, _) = settings.Columns[columnIndex];
-
- PropertyInfo propertyInfo = typeof(T).GetProperty(propertyName);
- if (propertyInfo == null)
- throw new ArgumentException($"Свойство {propertyName} не найдено в классе {typeof(T).Name}.");
-
- object value = propertyInfo.GetValue(dataItem);
- if (columnIndex == 0)
- {
- row.Cells[columnIndex].Format.Font.Bold = true;
- }
- row.Cells[columnIndex].AddParagraph(value != null ? value.ToString() : "");
- }
- }
-
- section.Add(table);
-
- PdfDocumentRenderer renderer = new PdfDocumentRenderer(true) { Document = document };
- renderer.RenderDocument();
- renderer.Save(settings.FilePath);
- }
- }
-}
diff --git a/KopLab1/FormLibrary/ValueTableControl.Designer.cs b/KopLab1/FormLibrary/ValueTableControl.Designer.cs
deleted file mode 100644
index 7ae2ab2..0000000
--- a/KopLab1/FormLibrary/ValueTableControl.Designer.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-namespace FormLibrary
-{
- partial class ValueTableControl
- {
- ///
- /// Обязательная переменная конструктора.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Освободить все используемые ресурсы.
- ///
- /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Код, автоматически созданный конструктором компонентов
-
- ///
- /// Требуемый метод для поддержки конструктора — не изменяйте
- /// содержимое этого метода с помощью редактора кода.
- ///
- private void InitializeComponent()
- {
- dataGridView1 = new DataGridView();
- ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit();
- SuspendLayout();
- //
- // dataGridView1
- //
- dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- dataGridView1.Location = new Point(3, 3);
- dataGridView1.Name = "dataGridView1";
- dataGridView1.Size = new Size(445, 363);
- dataGridView1.TabIndex = 0;
- //
- // ValueTableControl
- //
- AutoScaleDimensions = new SizeF(7F, 15F);
- AutoScaleMode = AutoScaleMode.Font;
- Controls.Add(dataGridView1);
- Name = "ValueTableControl";
- Size = new Size(451, 369);
- ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit();
- ResumeLayout(false);
- }
-
- #endregion
-
- private DataGridView dataGridView1;
- }
-}
diff --git a/KopLab1/FormLibrary/ValueTableControl.cs b/KopLab1/FormLibrary/ValueTableControl.cs
deleted file mode 100644
index 2e582b1..0000000
--- a/KopLab1/FormLibrary/ValueTableControl.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-using FormLibrary.HelperClasses;
-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;
-
-namespace FormLibrary
-{
- public partial class ValueTableControl : UserControl
- {
- public ValueTableControl()
- {
- InitializeComponent();
- ConfigureDataGridView();
- }
-
- private void ConfigureDataGridView()
- {
- dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
- dataGridView1.MultiSelect = false;
- dataGridView1.RowHeadersVisible = false;
- dataGridView1.AllowUserToAddRows = false;
-
- dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
- }
-
-
- public void ConfigureColumns(List<(string HeaderText, string DataPropertyName, float FillWeight)> columns)
- {
- dataGridView1.Columns.Clear();
-
- foreach (var column in columns)
- {
- dataGridView1.Columns.Add(new DataGridViewTextBoxColumn
- {
- HeaderText = column.HeaderText,
- DataPropertyName = column.DataPropertyName,
- FillWeight = column.FillWeight
- });
- }
- }
-
- public void ClearRows()
- {
- dataGridView1.Rows.Clear();
- }
-
- public int SelectedRowIndex
- {
- get => dataGridView1.SelectedRows[0].Index;
- set
- {
- if (value >= 0 && value < dataGridView1.Rows.Count)
- {
- dataGridView1.ClearSelection();
- dataGridView1.Rows[value].Selected = true;
- }
- }
- }
-
- public T GetSelectedObject() where T : new()
- {
- if (dataGridView1.SelectedRows.Count == 0)
- throw new InvalidOperationException("Нет выбранной строки.");
-
- var selectedRow = dataGridView1.SelectedRows[0];
- var obj = new T();
-
- foreach (DataGridViewColumn column in dataGridView1.Columns)
- {
- var prop = typeof(T).GetProperty(column.DataPropertyName);
- if (prop != null)
- {
- var value = selectedRow.Cells[column.Index].Value;
- prop.SetValue(obj, Convert.ChangeType(value, prop.PropertyType));
- }
- }
-
- return obj;
- }
-
- public void FillData(List objects)
- {
- dataGridView1.Rows.Clear();
-
- if (objects == null || !objects.Any())
- {
- return;
- }
-
- var properties = typeof(T).GetProperties();
-
- foreach (var obj in objects)
- {
- var values = properties.Select(p => p.GetValue(obj, null)).ToArray();
- dataGridView1.Rows.Add(values);
- }
- }
-
-
- }
-}
diff --git a/KopLab1/FormLibrary/ValueTableControl.resx b/KopLab1/FormLibrary/ValueTableControl.resx
deleted file mode 100644
index 8b2ff64..0000000
--- a/KopLab1/FormLibrary/ValueTableControl.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/KopLab1/Forms/Forms.csproj b/KopLab1/Forms/Forms.csproj
deleted file mode 100644
index 764e403..0000000
--- a/KopLab1/Forms/Forms.csproj
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- WinExe
- net8.0-windows
- enable
- true
- enable
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/KopLab1/Forms/MainForm.Designer.cs b/KopLab1/Forms/MainForm.Designer.cs
deleted file mode 100644
index 900d0bc..0000000
--- a/KopLab1/Forms/MainForm.Designer.cs
+++ /dev/null
@@ -1,225 +0,0 @@
-namespace Forms
-{
- partial class MainForm
- {
- ///
- /// 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()
- {
- components = new System.ComponentModel.Container();
- customListBox1 = new FormLibrary.CustomListBox();
- button1 = new Button();
- button2 = new Button();
- integerInputControl1 = new FormLibrary.IntegerInputControl();
- button3 = new Button();
- button4 = new Button();
- textBox1 = new TextBox();
- valueTableControl1 = new FormLibrary.ValueTableControl();
- button5 = new Button();
- button6 = new Button();
- button7 = new Button();
- pdfTable1 = new FormLibrary.PDFTable(components);
- button8 = new Button();
- pdfTableCustom1 = new FormLibrary.PDFTableCustom(components);
- button9 = new Button();
- button11 = new Button();
- componentHistogramToPdf1 = new FormLibrary.ComponentHistogramToPdf(components);
- SuspendLayout();
- //
- // customListBox1
- //
- customListBox1.Location = new Point(12, 12);
- customListBox1.Name = "customListBox1";
- customListBox1.city = "";
- customListBox1.Size = new Size(237, 176);
- customListBox1.TabIndex = 0;
- //
- // button1
- //
- button1.Location = new Point(12, 194);
- button1.Name = "button1";
- button1.Size = new Size(237, 34);
- button1.TabIndex = 1;
- button1.Text = "Заполнить список";
- button1.UseVisualStyleBackColor = true;
- button1.Click += ButtonLoad_Click;
- //
- // button2
- //
- button2.Location = new Point(12, 234);
- button2.Name = "button2";
- button2.Size = new Size(237, 34);
- button2.TabIndex = 2;
- button2.Text = "Очистить список";
- button2.UseVisualStyleBackColor = true;
- button2.Click += ButtonClear_Click;
- //
- // integerInputControl1
- //
- integerInputControl1.Location = new Point(329, 12);
- integerInputControl1.Name = "integerInputControl1";
- integerInputControl1.Size = new Size(146, 56);
- integerInputControl1.TabIndex = 3;
- //
- // button3
- //
- button3.Location = new Point(361, 74);
- button3.Name = "button3";
- button3.Size = new Size(103, 23);
- button3.TabIndex = 4;
- button3.Text = "Set";
- button3.UseVisualStyleBackColor = true;
- button3.Click += buttonInput_Click;
- //
- // button4
- //
- button4.Location = new Point(361, 103);
- button4.Name = "button4";
- button4.Size = new Size(103, 23);
- button4.TabIndex = 5;
- button4.Text = "Get";
- button4.UseVisualStyleBackColor = true;
- button4.Click += buttonOutput_Click;
- //
- // textBox1
- //
- textBox1.Location = new Point(329, 132);
- textBox1.Name = "textBox1";
- textBox1.Size = new Size(135, 23);
- textBox1.TabIndex = 6;
- //
- // valueTableControl1
- //
- valueTableControl1.Location = new Point(487, 12);
- valueTableControl1.Name = "valueTableControl1";
- valueTableControl1.Size = new Size(450, 369);
- valueTableControl1.TabIndex = 7;
- //
- // button5
- //
- button5.Location = new Point(487, 387);
- button5.Name = "button5";
- button5.Size = new Size(159, 51);
- button5.TabIndex = 8;
- button5.Text = "Заполнить таблицу";
- button5.UseVisualStyleBackColor = true;
- button5.Click += ButtonFillTable_Click;
- //
- // button6
- //
- button6.Location = new Point(652, 387);
- button6.Name = "button6";
- button6.Size = new Size(134, 51);
- button6.TabIndex = 9;
- button6.Text = "Очистить таблицу";
- button6.UseVisualStyleBackColor = true;
- button6.Click += ButtonClearTable_Click;
- //
- // button7
- //
- button7.Location = new Point(792, 387);
- button7.Name = "button7";
- button7.Size = new Size(148, 51);
- button7.TabIndex = 10;
- button7.Text = "Get";
- button7.UseVisualStyleBackColor = true;
- button7.Click += ButtonShowData_Click;
- //
- // button8
- //
- button8.Location = new Point(26, 481);
- button8.Name = "button8";
- button8.Size = new Size(139, 23);
- button8.TabIndex = 11;
- button8.Text = "Create PDF";
- button8.UseVisualStyleBackColor = true;
- button8.Click += GeneratePdfButton_Click;
- //
- // button9
- //
- button9.Location = new Point(189, 481);
- button9.Name = "button9";
- button9.Size = new Size(139, 23);
- button9.TabIndex = 12;
- button9.Text = "Create customPDF";
- button9.UseVisualStyleBackColor = true;
- button9.Click += btnGeneratePDF_Click;
- //
- // button11
- //
- button11.Location = new Point(347, 481);
- button11.Name = "button11";
- button11.Size = new Size(139, 23);
- button11.TabIndex = 13;
- button11.Text = "Create Histogram PDF";
- button11.UseVisualStyleBackColor = true;
- button11.Click += btnGenerateHistogrammPdf_Click;
- //
- // MainForm
- //
- AutoScaleDimensions = new SizeF(7F, 15F);
- AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(944, 625);
- Controls.Add(button11);
- Controls.Add(button9);
- Controls.Add(button8);
- Controls.Add(button7);
- Controls.Add(button6);
- Controls.Add(button5);
- Controls.Add(valueTableControl1);
- Controls.Add(textBox1);
- Controls.Add(button4);
- Controls.Add(button3);
- Controls.Add(integerInputControl1);
- Controls.Add(button2);
- Controls.Add(button1);
- Controls.Add(customListBox1);
- Name = "MainForm";
- Text = "MainForm";
- ResumeLayout(false);
- PerformLayout();
- }
-
- #endregion
-
- private FormLibrary.CustomListBox customListBox1;
- private Button button1;
- private Button button2;
- private FormLibrary.IntegerInputControl integerInputControl1;
- private Button button3;
- private Button button4;
- private TextBox textBox1;
- private FormLibrary.ValueTableControl valueTableControl1;
- private Button button5;
- private Button button6;
- private Button button7;
- private FormLibrary.PDFTable pdfTable1;
- private Button button8;
- private FormLibrary.PDFTableCustom pdfTableCustom1;
- private Button button9;
- private Button button11;
- private FormLibrary.ComponentHistogramToPdf componentHistogramToPdf1;
- }
-}
\ No newline at end of file
diff --git a/KopLab1/Forms/MainForm.cs b/KopLab1/Forms/MainForm.cs
deleted file mode 100644
index 80b775e..0000000
--- a/KopLab1/Forms/MainForm.cs
+++ /dev/null
@@ -1,219 +0,0 @@
-using FormLibrary;
-using FormLibrary.Exceptions;
-using FormLibrary.HelperClasses;
-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 System.Windows.Forms.VisualStyles;
-using static System.Windows.Forms.VisualStyles.VisualStyleElement.Header;
-using OxyPlot.Legends;
-
-namespace Forms
-{
- public partial class MainForm : Form
- {
- private int? savedValue;
- public MainForm()
- {
- InitializeComponent();
- customListBox1.cityChanged += CustomListBox1_cityChanged;
- integerInputControl1.ValueChanged += IntegerInputControl1_ValueChanged;
- integerInputControl1.CheckBoxChanged += IntegerInputControl_CheckBoxChanged;
- }
-
- private void CustomListBox1_cityChanged(object? sender, EventArgs e)
- {
- if (sender is CustomListBox customListBox)
- {
- string city = customListBox.city;
- MessageBox.Show($"Выбранный элемент: {city}", "Выбор элемента", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- private void ButtonLoad_Click(object? sender, EventArgs e)
- {
- List items = new List();
- for (int i = 0; i <= 5; i++)
- {
- items.Add("Item " + i.ToString());
- }
-
- customListBox1.PopulateListBox(items);
- }
-
- private void ButtonClear_Click(object? sender, EventArgs e)
- {
- customListBox1.ClearListBox();
- }
- private void buttonInput_Click(object sender, EventArgs e)
- {
- try
- {
- savedValue = integerInputControl1.Value;
- MessageBox.Show("Значение успешно сохранено.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- catch (EmptyValueException ex)
- {
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- catch (InvalidValueTypeException ex)
- {
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
-
- private void buttonOutput_Click(object sender, EventArgs e)
- {
- if (savedValue.HasValue)
- {
- MessageBox.Show($"Сохраненное значение: {savedValue}", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else
- {
- MessageBox.Show("Сохраненное значение: null", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- private void IntegerInputControl1_ValueChanged(object? sender, EventArgs e)
- {
- textBox1.Text = "Textbox changed";
- }
-
- private void IntegerInputControl_CheckBoxChanged(object? sender, EventArgs e)
- {
- textBox1.Text = "Checkbox changed";
- }
- private void ButtonFillTable_Click(object sender, EventArgs e)
- {
- var columns = new List<(string HeaderText, string DataPropertyName, float FillWeight)>
- {
- ("Группа", "Group", 30),
- ("ФИО", "FullName", 50),
- ("Курс", "Course", 20)
- };
- valueTableControl1.ConfigureColumns(columns);
-
- var students = new List
- {
- new Student { Group = "Пибд-33", FullName = "Иванов Иван Иванович", Course = 3 },
- new Student { Group = "Пибд-33", FullName = "Петров Петр Петрович", Course = 2 },
- new Student { Group = "Пибд-33", FullName = "Антонов Антон Антонович", Course = 1 }
- };
-
- valueTableControl1.FillData(students);
- }
-
- private void ButtonClearTable_Click(object sender, EventArgs e)
- {
- valueTableControl1.ClearRows();
- }
-
- private void ButtonShowData_Click(object sender, EventArgs e)
- {
- try
- {
- var selectedStudent = valueTableControl1.GetSelectedObject();
- MessageBox.Show($"Группа: {selectedStudent.Group}, ФИО: {selectedStudent.FullName}, Курс: {selectedStudent.Course}",
- "Выбранный студент",
- MessageBoxButtons.OK,
- MessageBoxIcon.Information);
- }
- catch (InvalidOperationException ex)
- {
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- private void GeneratePdfButton_Click(object sender, EventArgs e)
- {
- try
- {
- var pdfData = new PdfDocumentData(
- "E:\\Отчет1.pdf",
- "Название документа",
- new List
- {
- new string[,]
- {
- { "Ячейка 1", "Ячейка 2", "Ячейка 3" },
- { "Ячейка 4", "Ячейка 5", "Ячейка 6" }
- },
- new string[,]
- {
- { "Ячейка 1", "Ячейка 2" },
- { "Ячейка 1", "Ячейка 2" }
- }
- });
-
- var documentGenerator = new PDFTable();
- documentGenerator.GeneratePdf(pdfData);
-
- MessageBox.Show("PDF-документ успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Произошла ошибка: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- private void btnGeneratePDF_Click(object sender, EventArgs e)
- {
- var settings = new PDFTableSettings
- {
- FilePath = "E:\\Отчет2.pdf",
- DocumentTitle = "Отчет по студентам",
- HeaderRowHeight = 1.0f,
- DataRowHeight = 1.0f,
- DataList = new List
- {
- new Student { Number = 1, Group = "Пибд-33", FullName = "Иван Иванов", Course = 3 },
- new Student { Number = 2, Group = "Пибд-33", FullName = "Петр Петров", Course = 2 },
- new Student { Number = 3, Group = "Пибд-34", FullName = "Алексей Сидоров", Course = 4 }
- },
- Columns = new List<(string, float, string, int)>
- {
- ("№", 1.0f, nameof(Student.Number), 0),
- ("Группа", 4.0f, nameof(Student.Group), 1),
- ("ФИО", 6.0f, nameof(Student.FullName), 2),
- ("Курс", 2.0f, nameof(Student.Course), 3)
- }
- };
-
- try
- {
- pdfTableCustom1.GeneratePDFWithHead(settings);
- MessageBox.Show("PDF-документ успешно создан!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}");
- }
- }
- private void btnGenerateHistogrammPdf_Click(object sender, EventArgs e)
- {
- try
- {
- var histogramGenerator = new ComponentHistogramToPdf();
-
- var chartData = new List
- {
- new ChartData { SeriesName = "Серияd 1", Data = new Dictionary { { "Категорияz 1", 5 }, { "Категорияx 2", 10 } } },
- new ChartData { SeriesName = "Серияs 2", Data = new Dictionary { { "Категорияa 1", 3 }, { "Категорияs 2", 8 } } },
- new ChartData { SeriesName = "Серияs 3", Data = new Dictionary { { "Категорияa 1", 3 }, { "Категорияs 2", 8 } } }
- };
-
- string filePath = "E:\\Гистограмма.pdf";
-
- histogramGenerator.CreateHistogramPdf(filePath, "Название документа", "Заголовок гистограммы", LegendPosition.BottomCenter, chartData);
-
- MessageBox.Show("PDF успешно сгенерирован!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
-}
diff --git a/KopLab1/Forms/MainForm.resx b/KopLab1/Forms/MainForm.resx
deleted file mode 100644
index 3618ad6..0000000
--- a/KopLab1/Forms/MainForm.resx
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- 122, 17
-
-
- 269, 17
-
-
\ No newline at end of file
diff --git a/KopLab1/Forms/Program.cs b/KopLab1/Forms/Program.cs
deleted file mode 100644
index a71be2f..0000000
--- a/KopLab1/Forms/Program.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System.Text;
-
-namespace Forms
-{
- internal static class Program
- {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
- // To customize application configuration such as set high DPI settings or default font,
- // see https://aka.ms/applicationconfiguration.
- Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
- ApplicationConfiguration.Initialize();
- Application.Run(new MainForm());
- }
- }
-}
\ No newline at end of file
diff --git a/KopLab1/Lab3Form/FormMain.Designer.cs b/KopLab1/Lab3Form/FormMain.Designer.cs
index fa403c5..a053cc5 100644
--- a/KopLab1/Lab3Form/FormMain.Designer.cs
+++ b/KopLab1/Lab3Form/FormMain.Designer.cs
@@ -40,8 +40,7 @@
документСДиаграммойToolStripMenuItem = new ToolStripMenuItem();
выбранныеТоварыToolStripMenuItem = new ToolStripMenuItem();
controlDataTable = new ControlsLibraryNet60.Data.ControlDataTableTable();
- excelImagesComponent = new WinFormsLibraryVolkov.NonVisualComponents.ExcelImagesComponent(components);
- componentDocumentWithTableMultiHeaderWord = new ComponentsLibraryNet60.DocumentWithTable.ComponentDocumentWithTableMultiHeaderWord(components);
+ pdfTable1 = new FormLibrary.PDFTable(components);
menuStrip.SuspendLayout();
SuspendLayout();
//
@@ -167,7 +166,6 @@
private ToolStripMenuItem выбранныеТоварыToolStripMenuItem;
private ToolStripMenuItem документСДиаграммойToolStripMenuItem;
private ControlsLibraryNet60.Data.ControlDataTableTable controlDataTable;
- private WinFormsLibraryVolkov.NonVisualComponents.ExcelImagesComponent excelImagesComponent;
- private ComponentsLibraryNet60.DocumentWithTable.ComponentDocumentWithTableMultiHeaderWord componentDocumentWithTableMultiHeaderWord;
+ private FormLibrary.PDFTable pdfTable1;
}
}
\ No newline at end of file
diff --git a/KopLab1/Lab3Form/FormMain.cs b/KopLab1/Lab3Form/FormMain.cs
index e9cd1a7..2198f3a 100644
--- a/KopLab1/Lab3Form/FormMain.cs
+++ b/KopLab1/Lab3Form/FormMain.cs
@@ -46,18 +46,14 @@ namespace Lab3Form
var orders = _logic.ReadList(null);
if (orders != null)
{
- // Преобразуем List в строку для отображения
var displayOrders = orders.Select(order => new
{
order.Id,
order.Fullname,
order.DestinationCityName,
- // Преобразуем OrderStatusHistory в строку
OrderStatusHistory = string.Join(", ", order.OrderStatusHistory),
order.ExpectedDeliveryDate
}).ToList();
-
- // Передаем преобразованный список в таблицу
controlDataTable.AddTable(displayOrders);
}
}
@@ -92,22 +88,17 @@ namespace Lab3Form
private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
{
- // Получаем выбранный объект
var selectedOrder = controlDataTable.GetSelectedObject();
if (selectedOrder == null)
{
MessageBox.Show("Не выбрана запись для удаления.");
return;
}
-
- // Подтверждение удаления
if (MessageBox.Show("Удалить запись?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
- // Вызываем метод Delete, передавая модель с ID
var isDeleted = _logic.Delete(new OrderBindingModel { Id = selectedOrder.Id ?? 0 });
if (isDeleted)
{
- // Если удаление успешно, обновляем данные
LoadData();
MessageBox.Show("Запись успешно удалена.");
}
@@ -123,7 +114,7 @@ namespace Lab3Form
{
List orderImages = new List();
string path = AppDomain.CurrentDomain.BaseDirectory + "Фотокарточки заказов с интернет-магазина.xlsx";
- if (excelImagesComponent.createWithImages(new ExcelImageInfo(path, "Фотокарточки заказов", orderImages.ToArray()))) MessageBox.Show("Документ был создан");
+ //if (excelImagesComponent.createWithImages(new ExcelImageInfo(path, "Фотокарточки заказов", orderImages.ToArray()))) MessageBox.Show("Документ был создан");
}
private void документСТаблицейToolStripMenuItem_Click(object sender, EventArgs e)
diff --git a/KopLab1/Lab3Form/FormMain.resx b/KopLab1/Lab3Form/FormMain.resx
index 8743b19..4282b87 100644
--- a/KopLab1/Lab3Form/FormMain.resx
+++ b/KopLab1/Lab3Form/FormMain.resx
@@ -120,11 +120,8 @@
17, 17
-
- 138, 17
-
-
- 347, 18
+
+ 126, 17
177
diff --git a/KopLab1/Lab3Form/FormOrder.Designer.cs b/KopLab1/Lab3Form/FormOrder.Designer.cs
index c590a9c..7816ff7 100644
--- a/KopLab1/Lab3Form/FormOrder.Designer.cs
+++ b/KopLab1/Lab3Form/FormOrder.Designer.cs
@@ -31,12 +31,12 @@
labelFIO = new Label();
textBoxFIO = new TextBox();
labelcity = new Label();
- customSelectedCheckedListBox = new WinFormsLibraryVolkov.CustomSelectedCheckedListBox();
buttonCancel = new Button();
buttonSave = new Button();
openFileDialog = new OpenFileDialog();
label1 = new Label();
label2 = new Label();
+ customListBox1 = new FormLibrary.CustomListBox();
customInputRangeDate1 = new WinFormsLibraryVolkov.CustomInputRangeDate();
listBox1 = new ListBox();
SuspendLayout();
@@ -55,7 +55,7 @@
textBoxFIO.Location = new Point(10, 24);
textBoxFIO.Margin = new Padding(3, 2, 3, 2);
textBoxFIO.Name = "textBoxFIO";
- textBoxFIO.Size = new Size(277, 23);
+ textBoxFIO.Size = new Size(241, 23);
textBoxFIO.TabIndex = 1;
//
// labelcity
@@ -67,17 +67,9 @@
labelcity.TabIndex = 4;
labelcity.Text = "Город назначения";
//
- // customSelectedCheckedListBox
- //
- customSelectedCheckedListBox.Location = new Point(10, 81);
- customSelectedCheckedListBox.Name = "customSelectedCheckedListBox";
- customSelectedCheckedListBox.SelectedElement = "";
- customSelectedCheckedListBox.Size = new Size(277, 65);
- customSelectedCheckedListBox.TabIndex = 5;
- //
// buttonCancel
//
- buttonCancel.Location = new Point(204, 323);
+ buttonCancel.Location = new Point(161, 414);
buttonCancel.Margin = new Padding(3, 2, 3, 2);
buttonCancel.Name = "buttonCancel";
buttonCancel.Size = new Size(83, 21);
@@ -87,7 +79,7 @@
//
// buttonSave
//
- buttonSave.Location = new Point(10, 325);
+ buttonSave.Location = new Point(7, 414);
buttonSave.Margin = new Padding(3, 2, 3, 2);
buttonSave.Name = "buttonSave";
buttonSave.Size = new Size(94, 21);
@@ -104,7 +96,7 @@
// label1
//
label1.AutoSize = true;
- label1.Location = new Point(10, 262);
+ label1.Location = new Point(10, 360);
label1.Name = "label1";
label1.Size = new Size(132, 15);
label1.TabIndex = 10;
@@ -113,43 +105,51 @@
// label2
//
label2.AutoSize = true;
- label2.Location = new Point(10, 172);
+ label2.Location = new Point(10, 264);
label2.Name = "label2";
label2.Size = new Size(123, 15);
label2.TabIndex = 12;
label2.Text = "Точки передвижения";
//
+ // customListBox1
+ //
+ customListBox1.Location = new Point(10, 80);
+ customListBox1.Name = "customListBox1";
+ customListBox1.SelectedItem = "";
+ customListBox1.Size = new Size(237, 179);
+ customListBox1.TabIndex = 17;
+ //
// customInputRangeDate1
//
- customInputRangeDate1.Location = new Point(10, 280);
+ customInputRangeDate1.Location = new Point(10, 378);
customInputRangeDate1.MaxDate = new DateTime(0L);
customInputRangeDate1.MinDate = new DateTime(0L);
customInputRangeDate1.Name = "customInputRangeDate1";
- customInputRangeDate1.Size = new Size(277, 40);
- customInputRangeDate1.TabIndex = 13;
+ customInputRangeDate1.Size = new Size(199, 31);
+ customInputRangeDate1.TabIndex = 18;
//
// listBox1
//
listBox1.FormattingEnabled = true;
listBox1.ItemHeight = 15;
- listBox1.Location = new Point(10, 190);
+ listBox1.Location = new Point(13, 282);
listBox1.Name = "listBox1";
listBox1.SelectionMode = SelectionMode.MultiExtended;
- listBox1.Size = new Size(277, 64);
- listBox1.TabIndex = 14;
+ listBox1.Size = new Size(231, 64);
+ listBox1.TabIndex = 19;
//
// FormOrder
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(299, 355);
+ ClientSize = new Size(256, 459);
Controls.Add(listBox1);
Controls.Add(customInputRangeDate1);
+ Controls.Add(customListBox1);
Controls.Add(label2);
Controls.Add(label1);
Controls.Add(buttonSave);
Controls.Add(buttonCancel);
- Controls.Add(customSelectedCheckedListBox);
Controls.Add(labelcity);
Controls.Add(textBoxFIO);
Controls.Add(labelFIO);
@@ -165,12 +165,12 @@
private Label labelFIO;
private TextBox textBoxFIO;
private Label labelcity;
- private WinFormsLibraryVolkov.CustomSelectedCheckedListBox customSelectedCheckedListBox;
private Button buttonCancel;
private Button buttonSave;
private OpenFileDialog openFileDialog;
private Label label1;
private Label label2;
+ private FormLibrary.CustomListBox customListBox1;
private WinFormsLibraryVolkov.CustomInputRangeDate customInputRangeDate1;
private ListBox listBox1;
}
diff --git a/KopLab1/Lab3Form/FormOrder.cs b/KopLab1/Lab3Form/FormOrder.cs
index e2238bd..df66dab 100644
--- a/KopLab1/Lab3Form/FormOrder.cs
+++ b/KopLab1/Lab3Form/FormOrder.cs
@@ -29,7 +29,7 @@ namespace Lab3Form
_Cities = new List();
_Cities = _cityLogic.ReadList(null);
var cityNames = _Cities.Select(city => city.Name).ToList();
- customSelectedCheckedListBox.PopulateList(cityNames);
+ customListBox1.PopulateListBox(cityNames);
var orderStatuses = new List { "Создан", "Подтвержден", "Отправлен", "Доставлен" };
listBox1.Items.AddRange(orderStatuses.ToArray());
DateTime now = DateTime.Now;
@@ -43,7 +43,7 @@ namespace Lab3Form
{
MessageBox.Show("Заполните ФИО заказчика", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
- if (customSelectedCheckedListBox.SelectedElement == null)
+ if (customListBox1.SelectedItem == null)
{
MessageBox.Show("Укажите город назначения", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
@@ -53,7 +53,7 @@ namespace Lab3Form
{
Id = _id ?? 0,
Fullname = textBoxFIO.Text,
- DestinationCityId = _Cities.First(x => x.Name == customSelectedCheckedListBox.SelectedElement).Id,
+ DestinationCityId = _Cities.First(x => x.Name == customListBox1.SelectedItem).Id,
ExpectedDeliveryDate = customInputRangeDate1.Date,
OrderStatusHistory = listBox1.SelectedItems.Cast().ToList(),
};
diff --git a/KopLab1/Lab3Form/Lab3Form.csproj b/KopLab1/Lab3Form/Lab3Form.csproj
index b09d564..45d1f18 100644
--- a/KopLab1/Lab3Form/Lab3Form.csproj
+++ b/KopLab1/Lab3Form/Lab3Form.csproj
@@ -12,6 +12,7 @@
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive