From d25940be9cae0d8b122c07e9169009d2b95fbe18 Mon Sep 17 00:00:00 2001 From: "ityurner02@mail.ru" Date: Thu, 26 Oct 2023 22:26:41 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B2=D1=81=D0=B5=20=D0=BA=D1=80=D1=83=D0=B4?= =?UTF-8?q?=D1=8B=20=D0=B8=201/3=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=BE=D0=B2=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=D1=8E=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- COP/VisualCompLib/MyDropDownList.Designer.cs | 86 +++++++------- COP/VisualCompLib/MyDropDownList.cs | 12 +- COP/VisualCompLib/MyDropDownList.resx | 50 ++++---- COP/WinForms/FormClient.Designer.cs | 27 ++--- COP/WinForms/FormClient.cs | 4 - COP/WinForms/FormMain.Designer.cs | 91 ++++++++++++++- COP/WinForms/FormMain.cs | 114 ++++++++++++++++++- COP/WinForms/FormMain.resx | 6 + COP/WinForms/Program.cs | 2 +- COP/WinForms/WinForms.csproj | 2 +- 10 files changed, 297 insertions(+), 97 deletions(-) diff --git a/COP/VisualCompLib/MyDropDownList.Designer.cs b/COP/VisualCompLib/MyDropDownList.Designer.cs index e55909d..d8d1e79 100644 --- a/COP/VisualCompLib/MyDropDownList.Designer.cs +++ b/COP/VisualCompLib/MyDropDownList.Designer.cs @@ -1,59 +1,61 @@ namespace VisualCompLib { - partial class MyDropDownList - { - /// - /// Обязательная переменная конструктора. - /// - private System.ComponentModel.IContainer components = null; + partial class MyDropDownList + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; - /// - /// Освободить все используемые ресурсы. - /// - /// истинно, если управляемый ресурс должен быть удален; иначе ложно. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } - #region Код, автоматически созданный конструктором компонентов + #region Код, автоматически созданный конструктором компонентов - /// - /// Требуемый метод для поддержки конструктора — не изменяйте - /// содержимое этого метода с помощью редактора кода. - /// - private void InitializeComponent() - { - this.dropDownList = new System.Windows.Forms.ComboBox(); - this.SuspendLayout(); + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + dropDownList = new ComboBox(); + SuspendLayout(); // // dropDownList // - this.dropDownList.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.dropDownList.FormattingEnabled = true; - this.dropDownList.Location = new System.Drawing.Point(3, 3); - this.dropDownList.Name = "dropDownList"; - this.dropDownList.Size = new System.Drawing.Size(187, 24); - this.dropDownList.TabIndex = 0; - this.dropDownList.SelectedValueChanged += new System.EventHandler(this.comboBox_SelectedValueChanged); + dropDownList.DropDownStyle = ComboBoxStyle.DropDownList; + dropDownList.FormattingEnabled = true; + dropDownList.Location = new Point(3, 4); + dropDownList.Margin = new Padding(3, 4, 3, 4); + dropDownList.Name = "dropDownList"; + dropDownList.Size = new Size(187, 28); + dropDownList.TabIndex = 0; + dropDownList.SelectedValueChanged += comboBox_SelectedValueChanged; // // MyDropDownList // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.dropDownList); - this.Name = "MyDropDownList"; - this.Size = new System.Drawing.Size(193, 30); - this.ResumeLayout(false); - + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + Controls.Add(dropDownList); + Margin = new Padding(3, 4, 3, 4); + Name = "MyDropDownList"; + Size = new Size(193, 38); + ResumeLayout(false); } #endregion - private System.Windows.Forms.ComboBox dropDownList; + private ComboBox dropDownList; } } diff --git a/COP/VisualCompLib/MyDropDownList.cs b/COP/VisualCompLib/MyDropDownList.cs index 8811fa6..d825e7f 100644 --- a/COP/VisualCompLib/MyDropDownList.cs +++ b/COP/VisualCompLib/MyDropDownList.cs @@ -10,12 +10,12 @@ using System.Windows.Forms; namespace VisualCompLib { - public partial class MyDropDownList: UserControl - { - public MyDropDownList() - { - InitializeComponent(); - } + public partial class MyDropDownList : UserControl + { + public MyDropDownList() + { + InitializeComponent(); + } public void LoadValues(List Values) { diff --git a/COP/VisualCompLib/MyDropDownList.resx b/COP/VisualCompLib/MyDropDownList.resx index 1af7de1..af32865 100644 --- a/COP/VisualCompLib/MyDropDownList.resx +++ b/COP/VisualCompLib/MyDropDownList.resx @@ -1,17 +1,17 @@  - diff --git a/COP/WinForms/FormClient.Designer.cs b/COP/WinForms/FormClient.Designer.cs index 9d3e2dd..b6f2394 100644 --- a/COP/WinForms/FormClient.Designer.cs +++ b/COP/WinForms/FormClient.Designer.cs @@ -36,8 +36,8 @@ label3 = new Label(); buttonSave = new Button(); buttonCancel = new Button(); - myDropDownList1 = new VisualCompLib.MyDropDownList(); controlInputNullableInt1 = new ControlsLibraryNet60.Input.ControlInputNullableInt(); + myDropDownList1 = new VisualCompLib.MyDropDownList(); SuspendLayout(); // // LabelFIO @@ -108,6 +108,7 @@ buttonSave.TabIndex = 8; buttonSave.Text = "Сохранить"; buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += buttonSave_Click; // // buttonCancel // @@ -119,16 +120,7 @@ buttonCancel.TabIndex = 9; buttonCancel.Text = "Отменить"; buttonCancel.UseVisualStyleBackColor = true; - // - // myDropDownList1 - // - myDropDownList1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; - myDropDownList1.Location = new Point(14, 107); - myDropDownList1.Margin = new Padding(3, 4, 3, 4); - myDropDownList1.Name = "myDropDownList1"; - myDropDownList1.SelectedValue = ""; - myDropDownList1.Size = new Size(195, 37); - myDropDownList1.TabIndex = 11; + buttonCancel.Click += buttonCancel_Click; // // controlInputNullableInt1 // @@ -139,13 +131,22 @@ controlInputNullableInt1.TabIndex = 12; controlInputNullableInt1.Value = null; // + // myDropDownList1 + // + myDropDownList1.Location = new Point(12, 105); + myDropDownList1.Margin = new Padding(3, 4, 3, 4); + myDropDownList1.Name = "myDropDownList1"; + myDropDownList1.SelectedValue = ""; + myDropDownList1.Size = new Size(198, 39); + myDropDownList1.TabIndex = 13; + // // FormClient // AutoScaleDimensions = new SizeF(8F, 20F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(273, 397); - Controls.Add(controlInputNullableInt1); Controls.Add(myDropDownList1); + Controls.Add(controlInputNullableInt1); Controls.Add(buttonCancel); Controls.Add(buttonSave); Controls.Add(label3); @@ -172,7 +173,7 @@ private Label label3; private Button buttonSave; private Button buttonCancel; - private VisualCompLib.MyDropDownList myDropDownList1; private ControlsLibraryNet60.Input.ControlInputNullableInt controlInputNullableInt1; + private VisualCompLib.MyDropDownList myDropDownList1; } } \ No newline at end of file diff --git a/COP/WinForms/FormClient.cs b/COP/WinForms/FormClient.cs index 915acd8..2db9df3 100644 --- a/COP/WinForms/FormClient.cs +++ b/COP/WinForms/FormClient.cs @@ -47,10 +47,6 @@ namespace WinForms { controlInputNullableInt1.Value = view.Amount; } - else - { - controlInputNullableInt1.Value = 0; - } } } catch (Exception ex) diff --git a/COP/WinForms/FormMain.Designer.cs b/COP/WinForms/FormMain.Designer.cs index 58b902a..d36bf14 100644 --- a/COP/WinForms/FormMain.Designer.cs +++ b/COP/WinForms/FormMain.Designer.cs @@ -28,19 +28,93 @@ /// private void InitializeComponent() { + components = new System.ComponentModel.Container(); + contextMenuStrip1 = new ContextMenuStrip(components); + добавитьToolStripMenuItem = new ToolStripMenuItem(); + редактироватьToolStripMenuItem = new ToolStripMenuItem(); + удалитьToolStripMenuItem = new ToolStripMenuItem(); + сохранитьВВордToolStripMenuItem = new ToolStripMenuItem(); + сохранитьВЭксельToolStripMenuItem = new ToolStripMenuItem(); + сохранитьВПдфToolStripMenuItem = new ToolStripMenuItem(); + статусыToolStripMenuItem = new ToolStripMenuItem(); myTreeView1 = new VisableComponents.MyTreeView(); + wordText1 = new VisualCompLib.Components.WordText(components); + contextMenuStrip1.SuspendLayout(); SuspendLayout(); // + // contextMenuStrip1 + // + contextMenuStrip1.ImageScalingSize = new Size(20, 20); + contextMenuStrip1.Items.AddRange(new ToolStripItem[] { добавитьToolStripMenuItem, редактироватьToolStripMenuItem, удалитьToolStripMenuItem, сохранитьВВордToolStripMenuItem, сохранитьВЭксельToolStripMenuItem, сохранитьВПдфToolStripMenuItem, статусыToolStripMenuItem }); + contextMenuStrip1.Name = "contextMenuStrip1"; + contextMenuStrip1.Size = new Size(267, 172); + // + // добавитьToolStripMenuItem + // + добавитьToolStripMenuItem.Name = "добавитьToolStripMenuItem"; + добавитьToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.A; + добавитьToolStripMenuItem.Size = new Size(266, 24); + добавитьToolStripMenuItem.Text = "Добавить"; + добавитьToolStripMenuItem.Click += добавитьToolStripMenuItem_Click; + // + // редактироватьToolStripMenuItem + // + редактироватьToolStripMenuItem.Name = "редактироватьToolStripMenuItem"; + редактироватьToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.U; + редактироватьToolStripMenuItem.Size = new Size(266, 24); + редактироватьToolStripMenuItem.Text = "Редактировать"; + редактироватьToolStripMenuItem.Click += редактироватьToolStripMenuItem_Click; + // + // удалитьToolStripMenuItem + // + удалитьToolStripMenuItem.Name = "удалитьToolStripMenuItem"; + удалитьToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.D; + удалитьToolStripMenuItem.Size = new Size(266, 24); + удалитьToolStripMenuItem.Text = "Удалить"; + удалитьToolStripMenuItem.Click += удалитьToolStripMenuItem_Click; + // + // сохранитьВВордToolStripMenuItem + // + сохранитьВВордToolStripMenuItem.Name = "сохранитьВВордToolStripMenuItem"; + сохранитьВВордToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.S; + сохранитьВВордToolStripMenuItem.Size = new Size(266, 24); + сохранитьВВордToolStripMenuItem.Text = "Сохранить в Ворд"; + сохранитьВВордToolStripMenuItem.Click += сохранитьВВордToolStripMenuItem_Click; + // + // сохранитьВЭксельToolStripMenuItem + // + сохранитьВЭксельToolStripMenuItem.Name = "сохранитьВЭксельToolStripMenuItem"; + сохранитьВЭксельToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.C; + сохранитьВЭксельToolStripMenuItem.Size = new Size(266, 24); + сохранитьВЭксельToolStripMenuItem.Text = "Сохранить в Эксель"; + сохранитьВЭксельToolStripMenuItem.Click += сохранитьВЭксельToolStripMenuItem_Click; + // + // сохранитьВПдфToolStripMenuItem + // + сохранитьВПдфToolStripMenuItem.Name = "сохранитьВПдфToolStripMenuItem"; + сохранитьВПдфToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.T; + сохранитьВПдфToolStripMenuItem.Size = new Size(266, 24); + сохранитьВПдфToolStripMenuItem.Text = "Сохранить в пдф"; + сохранитьВПдфToolStripMenuItem.Click += сохранитьВПдфToolStripMenuItem_Click; + // + // статусыToolStripMenuItem + // + статусыToolStripMenuItem.Name = "статусыToolStripMenuItem"; + статусыToolStripMenuItem.ShortcutKeys = Keys.Control | Keys.Tab; + статусыToolStripMenuItem.Size = new Size(266, 24); + статусыToolStripMenuItem.Text = "Статусы"; + статусыToolStripMenuItem.Click += статусыToolStripMenuItem_Click; + // // myTreeView1 // myTreeView1.AutoSizeMode = AutoSizeMode.GrowAndShrink; myTreeView1.BackColor = SystemColors.ControlDark; - myTreeView1.Location = new Point(12, 27); + myTreeView1.Location = new Point(12, 13); myTreeView1.Margin = new Padding(3, 4, 3, 4); myTreeView1.MinimumSize = new Size(200, 200); myTreeView1.Name = "myTreeView1"; - myTreeView1.Size = new Size(780, 406); - myTreeView1.TabIndex = 0; + myTreeView1.Size = new Size(776, 424); + myTreeView1.TabIndex = 1; // // FormMain // @@ -51,11 +125,20 @@ Name = "FormMain"; Text = "Учет клиентов"; Load += FormMain_Load; + contextMenuStrip1.ResumeLayout(false); ResumeLayout(false); } #endregion - + private ContextMenuStrip contextMenuStrip1; + private ToolStripMenuItem добавитьToolStripMenuItem; + private ToolStripMenuItem редактироватьToolStripMenuItem; + private ToolStripMenuItem удалитьToolStripMenuItem; + private ToolStripMenuItem сохранитьВВордToolStripMenuItem; + private ToolStripMenuItem сохранитьВЭксельToolStripMenuItem; + private ToolStripMenuItem сохранитьВПдфToolStripMenuItem; + private ToolStripMenuItem статусыToolStripMenuItem; private VisableComponents.MyTreeView myTreeView1; + private VisualCompLib.Components.WordText wordText1; } } \ No newline at end of file diff --git a/COP/WinForms/FormMain.cs b/COP/WinForms/FormMain.cs index 1b92c62..f432039 100644 --- a/COP/WinForms/FormMain.cs +++ b/COP/WinForms/FormMain.cs @@ -1,5 +1,11 @@ -using ClientsContracts.BusinessLogicContracts; +using ClientBusinessLogic.BusinessLogics; +using ClientsContracts.BusinessLogicContracts; +using ClientsContracts.ViewModels; +using ClientsContracts.BindingModels; +using ControlsLibraryNet60.Data; using Unity; +using DocumentFormat.OpenXml.Spreadsheet; +using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window; namespace WinForms { @@ -14,6 +20,7 @@ namespace WinForms InitializeComponent(); List stringToHierachy = new List() { "Status", "Amount", "Id", "Name" }; myTreeView1.addToHierarchy(stringToHierachy); + myTreeView1.ContextMenuStrip = contextMenuStrip1; } private void FormMain_Load(object sender, EventArgs e) { @@ -25,6 +32,10 @@ namespace WinForms try { var list = _clientLogic.Read(null); + for (int i = 0; i < list.Count; i++) + { + if (list[i].Amount == null) { list[i].Amount = 0; } + } myTreeView1.LoadTree(list); } catch (Exception ex) @@ -41,5 +52,106 @@ namespace WinForms LoadData(); } } + + private void UpdateElement() + { + var form = Program.Container.Resolve(); + var selectedClient = myTreeView1.GetNode(typeof(ClientBindingModel)); + if (selectedClient != null) + { + form.Id = Convert.ToInt32((selectedClient as ClientBindingModel).Id); + if (form.ShowDialog() == DialogResult.OK) + { + LoadData(); + } + } + else + { + MessageBox.Show("Выберите клиента для редактирования"); + } + } + + private void DeleteElement() + { + if (MessageBox.Show("Удалить запись", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + var selectedClient = myTreeView1.GetNode(typeof(ClientBindingModel)); + int id = Convert.ToInt32((selectedClient as ClientBindingModel).Id); + try + { + _clientLogic.Delete(new ClientBindingModel { Id = id }); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + LoadData(); + } + } + + private void CreateWord() + { + string fileName = ""; + using (var dialog = new SaveFileDialog { Filter = "docx|*.docx" }) + { + if (dialog.ShowDialog() == DialogResult.OK) + { + fileName = dialog.FileName.ToString(); + MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, + MessageBoxIcon.Information); + } + } + List textList = new List(); + var list = _clientLogic.Read(null); + if (list != null) + { + foreach (var item in list) + { + if(item.Amount != null) + { + string clients = string.Concat("ФИО: ", item.Name, " Отзывы: ", item.Reviews); + textList.Add(clients); + } + } + string[] textArray = textList.ToArray(); + wordText1.CreateWordText(new(fileName, "Документ по клиентам, совершавшим покупки (ФИО клиента и его отзывы)", textArray)); + } + } + + private void статусыToolStripMenuItem_Click(object sender, EventArgs e) + { + var form = Program.Container.Resolve(); + form.ShowDialog(); + } + + private void сохранитьВПдфToolStripMenuItem_Click(object sender, EventArgs e) + { + throw new NotImplementedException(); + } + + private void сохранитьВЭксельToolStripMenuItem_Click(object sender, EventArgs e) + { + throw new NotImplementedException(); + } + + private void сохранитьВВордToolStripMenuItem_Click(object sender, EventArgs e) + { + CreateWord(); + } + + private void удалитьToolStripMenuItem_Click(object sender, EventArgs e) + { + DeleteElement(); + } + + private void редактироватьToolStripMenuItem_Click(object sender, EventArgs e) + { + UpdateElement(); + } + + private void добавитьToolStripMenuItem_Click(object sender, EventArgs e) + { + AddNewElement(); + } } } diff --git a/COP/WinForms/FormMain.resx b/COP/WinForms/FormMain.resx index af32865..c8cc348 100644 --- a/COP/WinForms/FormMain.resx +++ b/COP/WinForms/FormMain.resx @@ -117,4 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + + + 202, 17 + \ No newline at end of file diff --git a/COP/WinForms/Program.cs b/COP/WinForms/Program.cs index 5af4c61..79f012f 100644 --- a/COP/WinForms/Program.cs +++ b/COP/WinForms/Program.cs @@ -19,7 +19,7 @@ namespace WinForms Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(Container.Resolve()); + Application.Run(Container.Resolve()); } private static IUnityContainer BuildUnityContainer() { diff --git a/COP/WinForms/WinForms.csproj b/COP/WinForms/WinForms.csproj index 1154e74..c1a0279 100644 --- a/COP/WinForms/WinForms.csproj +++ b/COP/WinForms/WinForms.csproj @@ -17,7 +17,7 @@ - +