diff --git a/LawFirm/LawFirm/FormComponent.Designer.cs b/LawFirm/LawFirm/FormComponent.Designer.cs index 7e400c3..2704664 100644 --- a/LawFirm/LawFirm/FormComponent.Designer.cs +++ b/LawFirm/LawFirm/FormComponent.Designer.cs @@ -1,4 +1,4 @@ -namespace LawFirm.Forms +namespace LawFirmView { partial class FormComponent { @@ -28,95 +28,92 @@ /// private void InitializeComponent() { - buttonSave = new Button(); - buttonCancel = new Button(); - label1 = new Label(); - label2 = new Label(); - textBoxName = new TextBox(); - textBoxCost = new TextBox(); - SuspendLayout(); - // - // buttonSave - // - buttonSave.Location = new Point(217, 119); - buttonSave.Margin = new Padding(3, 4, 3, 4); - buttonSave.Name = "buttonSave"; - buttonSave.Size = new Size(98, 34); - buttonSave.TabIndex = 0; - buttonSave.Text = "Сохранить"; - buttonSave.UseVisualStyleBackColor = true; - buttonSave.Click += buttonSave_Click; - // - // buttonCancel - // - buttonCancel.Location = new Point(325, 119); - buttonCancel.Margin = new Padding(3, 4, 3, 4); - buttonCancel.Name = "buttonCancel"; - buttonCancel.Size = new Size(98, 34); - buttonCancel.TabIndex = 1; - buttonCancel.Text = "Отмена"; - buttonCancel.UseVisualStyleBackColor = true; - buttonCancel.Click += buttonCancel_Click; - // - // label1 - // - label1.AutoSize = true; - label1.Location = new Point(24, 30); - label1.Name = "label1"; - label1.Size = new Size(80, 20); - label1.TabIndex = 2; - label1.Text = "Название:"; - // - // label2 - // - label2.AutoSize = true; - label2.Location = new Point(24, 69); - label2.Name = "label2"; - label2.Size = new Size(48, 20); - label2.TabIndex = 3; - label2.Text = "Цена:"; + this.textBoxName = new System.Windows.Forms.TextBox(); + this.textBoxCost = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.buttonSave = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); // // textBoxName // - textBoxName.Location = new Point(118, 26); - textBoxName.Margin = new Padding(3, 4, 3, 4); - textBoxName.Name = "textBoxName"; - textBoxName.Size = new Size(305, 27); - textBoxName.TabIndex = 4; + this.textBoxName.Location = new System.Drawing.Point(72, 12); + this.textBoxName.Name = "textBoxName"; + this.textBoxName.Size = new System.Drawing.Size(267, 23); + this.textBoxName.TabIndex = 0; // // textBoxCost // - textBoxCost.Location = new Point(118, 65); - textBoxCost.Margin = new Padding(3, 4, 3, 4); - textBoxCost.Name = "textBoxCost"; - textBoxCost.Size = new Size(186, 27); - textBoxCost.TabIndex = 5; + this.textBoxCost.Location = new System.Drawing.Point(72, 55); + this.textBoxCost.Name = "textBoxCost"; + this.textBoxCost.Size = new System.Drawing.Size(143, 23); + this.textBoxCost.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(2, 12); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(62, 15); + this.label1.TabIndex = 2; + this.label1.Text = "Название:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(12, 55); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(38, 15); + this.label2.TabIndex = 3; + this.label2.Text = "Цена:"; + // + // buttonSave + // + this.buttonSave.Location = new System.Drawing.Point(159, 101); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(75, 23); + this.buttonSave.TabIndex = 4; + this.buttonSave.Text = "Сохранить"; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click); + // + // buttonCancel + // + this.buttonCancel.Location = new System.Drawing.Point(264, 101); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 23); + this.buttonCancel.TabIndex = 5; + this.buttonCancel.Text = "Отмена"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); // // FormComponent // - AutoScaleDimensions = new SizeF(8F, 20F); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(462, 174); - Controls.Add(textBoxCost); - Controls.Add(textBoxName); - Controls.Add(label2); - Controls.Add(label1); - Controls.Add(buttonCancel); - Controls.Add(buttonSave); - Margin = new Padding(3, 4, 3, 4); - Name = "FormComponent"; - Text = "Компонент"; - ResumeLayout(false); - PerformLayout(); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(456, 139); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonSave); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.textBoxCost); + this.Controls.Add(this.textBoxName); + this.Name = "FormComponent"; + this.Text = "Компонент"; + this.Load += new System.EventHandler(this.FormComponent_Load); + this.ResumeLayout(false); + this.PerformLayout(); + } #endregion - private Button buttonSave; - private Button buttonCancel; - private Label label1; - private Label label2; private TextBox textBoxName; private TextBox textBoxCost; + private Label label1; + private Label label2; + private Button buttonSave; + private Button buttonCancel; } } \ No newline at end of file diff --git a/LawFirm/LawFirm/FormComponent.cs b/LawFirm/LawFirm/FormComponent.cs index 69213f3..9346757 100644 --- a/LawFirm/LawFirm/FormComponent.cs +++ b/LawFirm/LawFirm/FormComponent.cs @@ -1,4 +1,8 @@ -using System; +using LawFirmContracts.BindingModels.BindingModels; +using LawFirmContracts.BusinessLogicsContracts; +using LawFirmContracts.SearchModels; +using Microsoft.Extensions.Logging; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -7,13 +11,8 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; -using Microsoft.Extensions.Logging; -using LawFirmContracts.BusinessLogicsContracts; -using Microsoft.VisualBasic.Logging; -using LawFirmContracts.SearchModels; -using LawFirmContracts.BindingModels; -namespace LawFirm.Forms +namespace LawFirmView { public partial class FormComponent : Form { @@ -37,7 +36,8 @@ namespace LawFirm.Forms _logger.LogInformation("Получение компонента"); var view = _logic.ReadElement(new ComponentSearchModel { - Id = _id.Value + Id = + _id.Value }); if (view != null) { @@ -58,7 +58,8 @@ namespace LawFirm.Forms { if (string.IsNullOrEmpty(textBoxName.Text)) { - MessageBox.Show("Заполните название", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("Заполните название", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _logger.LogInformation("Сохранение компонента"); @@ -70,20 +71,24 @@ namespace LawFirm.Forms ComponentName = textBoxName.Text, Cost = Convert.ToDouble(textBoxCost.Text) }; - var operationResult = _id.HasValue ? _logic.Update(model) : _logic.Create(model); + var operationResult = _id.HasValue ? _logic.Update(model) : + _logic.Create(model); if (!operationResult) { throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); } - MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); + MessageBox.Show("Сохранение прошло успешно", "Сообщение", + MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; Close(); } catch (Exception ex) { _logger.LogError(ex, "Ошибка сохранения компонента"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); } + } private void buttonCancel_Click(object sender, EventArgs e) diff --git a/LawFirm/LawFirm/FormComponent.resx b/LawFirm/LawFirm/FormComponent.resx index af32865..f298a7b 100644 --- a/LawFirm/LawFirm/FormComponent.resx +++ b/LawFirm/LawFirm/FormComponent.resx @@ -1,64 +1,4 @@ - - - + diff --git a/LawFirm/LawFirm/FormComponents.Designer.cs b/LawFirm/LawFirm/FormComponents.Designer.cs index 4ddb726..5c5db9f 100644 --- a/LawFirm/LawFirm/FormComponents.Designer.cs +++ b/LawFirm/LawFirm/FormComponents.Designer.cs @@ -1,4 +1,4 @@ -namespace LawFirm.Forms +namespace LawFirmView { partial class FormComponents { @@ -28,86 +28,79 @@ /// private void InitializeComponent() { - dataGridView = new DataGridView(); - buttonAdd = new Button(); - buttonUpd = new Button(); - buttonDel = new Button(); - buttonRef = new Button(); - ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); - SuspendLayout(); + this.dataGridView = new System.Windows.Forms.DataGridView(); + this.buttonAdd = new System.Windows.Forms.Button(); + this.buttonUpd = new System.Windows.Forms.Button(); + this.buttonDel = new System.Windows.Forms.Button(); + this.buttonRef = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit(); + this.SuspendLayout(); // // dataGridView // - dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Location = new Point(-1, -2); - dataGridView.Margin = new Padding(3, 4, 3, 4); - dataGridView.Name = "dataGridView"; - dataGridView.ReadOnly = true; - dataGridView.RowHeadersWidth = 51; - dataGridView.RowTemplate.Height = 24; - dataGridView.Size = new Size(499, 568); - dataGridView.TabIndex = 0; + this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView.Location = new System.Drawing.Point(0, 0); + this.dataGridView.Name = "dataGridView"; + this.dataGridView.RowTemplate.Height = 25; + this.dataGridView.Size = new System.Drawing.Size(439, 442); + this.dataGridView.TabIndex = 0; // // buttonAdd // - buttonAdd.Location = new Point(525, 48); - buttonAdd.Margin = new Padding(3, 4, 3, 4); - buttonAdd.Name = "buttonAdd"; - buttonAdd.Size = new Size(125, 35); - buttonAdd.TabIndex = 1; - buttonAdd.Text = "Добавить"; - buttonAdd.UseVisualStyleBackColor = true; - buttonAdd.Click += buttonAdd_Click; + this.buttonAdd.Location = new System.Drawing.Point(486, 12); + this.buttonAdd.Name = "buttonAdd"; + this.buttonAdd.Size = new System.Drawing.Size(102, 40); + this.buttonAdd.TabIndex = 1; + this.buttonAdd.Text = "Добавить"; + this.buttonAdd.UseVisualStyleBackColor = true; + this.buttonAdd.Click += new System.EventHandler(this.buttonAdd_Click); // // buttonUpd // - buttonUpd.Location = new Point(525, 98); - buttonUpd.Margin = new Padding(3, 4, 3, 4); - buttonUpd.Name = "buttonUpd"; - buttonUpd.Size = new Size(125, 35); - buttonUpd.TabIndex = 2; - buttonUpd.Text = "Изменить"; - buttonUpd.UseVisualStyleBackColor = true; - buttonUpd.Click += buttonUpd_Click; + this.buttonUpd.Location = new System.Drawing.Point(486, 58); + this.buttonUpd.Name = "buttonUpd"; + this.buttonUpd.Size = new System.Drawing.Size(102, 41); + this.buttonUpd.TabIndex = 2; + this.buttonUpd.Text = "Изменить"; + this.buttonUpd.UseVisualStyleBackColor = true; + this.buttonUpd.Click += new System.EventHandler(this.buttonUpd_Click); // // buttonDel // - buttonDel.Location = new Point(525, 150); - buttonDel.Margin = new Padding(3, 4, 3, 4); - buttonDel.Name = "buttonDel"; - buttonDel.Size = new Size(125, 35); - buttonDel.TabIndex = 3; - buttonDel.Text = "Удалить"; - buttonDel.UseVisualStyleBackColor = true; - buttonDel.Click += buttonDel_Click; + this.buttonDel.Location = new System.Drawing.Point(486, 105); + this.buttonDel.Name = "buttonDel"; + this.buttonDel.Size = new System.Drawing.Size(102, 42); + this.buttonDel.TabIndex = 3; + this.buttonDel.Text = "Удалить"; + this.buttonDel.UseVisualStyleBackColor = true; + this.buttonDel.Click += new System.EventHandler(this.buttonDel_Click); // // buttonRef // - buttonRef.Location = new Point(525, 201); - buttonRef.Margin = new Padding(3, 4, 3, 4); - buttonRef.Name = "buttonRef"; - buttonRef.Size = new Size(125, 35); - buttonRef.TabIndex = 4; - buttonRef.Text = "Обновить"; - buttonRef.UseVisualStyleBackColor = true; - buttonRef.Click += buttonRef_Click; + this.buttonRef.Location = new System.Drawing.Point(486, 153); + this.buttonRef.Name = "buttonRef"; + this.buttonRef.Size = new System.Drawing.Size(102, 39); + this.buttonRef.TabIndex = 4; + this.buttonRef.Text = "Обновить"; + this.buttonRef.UseVisualStyleBackColor = true; + this.buttonRef.Click += new System.EventHandler(this.buttonRef_Click); // // FormComponents // - AutoScaleDimensions = new SizeF(8F, 20F); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(676, 562); - Controls.Add(buttonRef); - Controls.Add(buttonDel); - Controls.Add(buttonUpd); - Controls.Add(buttonAdd); - Controls.Add(dataGridView); - Margin = new Padding(3, 4, 3, 4); - Name = "FormComponents"; - Text = "Список компонентов"; - Load += FormComponents_Load; - ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); - ResumeLayout(false); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(632, 443); + this.Controls.Add(this.buttonRef); + this.Controls.Add(this.buttonDel); + this.Controls.Add(this.buttonUpd); + this.Controls.Add(this.buttonAdd); + this.Controls.Add(this.dataGridView); + this.Name = "FormComponents"; + this.Text = "FormComponents"; + this.Load += new System.EventHandler(this.FormComponents_Load); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit(); + this.ResumeLayout(false); + } #endregion diff --git a/LawFirm/LawFirm/FormComponents.cs b/LawFirm/LawFirm/FormComponents.cs index 72a40fb..8d63a50 100644 --- a/LawFirm/LawFirm/FormComponents.cs +++ b/LawFirm/LawFirm/FormComponents.cs @@ -1,6 +1,7 @@ -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.BusinessLogicsContracts; using Microsoft.Extensions.Logging; +using Microsoft.VisualBasic.Logging; using System; using System.Collections.Generic; using System.ComponentModel; @@ -11,7 +12,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; -namespace LawFirm.Forms +namespace LawFirmView { public partial class FormComponents : Form { @@ -23,12 +24,11 @@ namespace LawFirm.Forms _logger = logger; _logic = logic; } - private void FormComponents_Load(object sender, EventArgs e) { LoadData(); - } + } private void LoadData() { try @@ -38,14 +38,16 @@ namespace LawFirm.Forms { dataGridView.DataSource = list; dataGridView.Columns["Id"].Visible = false; - dataGridView.Columns["ComponentName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + dataGridView.Columns["ComponentName"].AutoSizeMode = + DataGridViewAutoSizeColumnMode.Fill; } _logger.LogInformation("Загрузка компонентов"); } catch (Exception ex) { _logger.LogError(ex, "Ошибка загрузки компонентов"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); } } @@ -65,23 +67,27 @@ namespace LawFirm.Forms { if (dataGridView.SelectedRows.Count == 1) { - var service = Program.ServiceProvider?.GetService(typeof(FormComponent)); + var service = + Program.ServiceProvider?.GetService(typeof(FormComponent)); if (service is FormComponent form) { - form.Id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + form.Id = + Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); if (form.ShowDialog() == DialogResult.OK) { - LoadData(); + LoadData(); } } } + } private void buttonDel_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 1) { - if (MessageBox.Show("Удалить запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + if (MessageBox.Show("Удалить запись?", "Вопрос", + MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); @@ -100,14 +106,19 @@ namespace LawFirm.Forms catch (Exception ex) { _logger.LogError(ex, "Ошибка удаления компонента"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(ex.Message, "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); } } } + } + private void buttonRef_Click(object sender, EventArgs e) { LoadData(); } + + } } diff --git a/LawFirm/LawFirm/FormComponents.resx b/LawFirm/LawFirm/FormComponents.resx index af32865..f298a7b 100644 --- a/LawFirm/LawFirm/FormComponents.resx +++ b/LawFirm/LawFirm/FormComponents.resx @@ -1,64 +1,4 @@ - - - + diff --git a/LawFirm/LawFirm/FormCreateOrder.Designer.cs b/LawFirm/LawFirm/FormCreateOrder.Designer.cs index 58dc151..4145c5f 100644 --- a/LawFirm/LawFirm/FormCreateOrder.Designer.cs +++ b/LawFirm/LawFirm/FormCreateOrder.Designer.cs @@ -1,4 +1,4 @@ -namespace LawFirm.Forms +namespace LawFirmView { partial class FormCreateOrder { @@ -28,116 +28,117 @@ /// private void InitializeComponent() { - label1 = new Label(); - label2 = new Label(); - label3 = new Label(); - textBoxCount = new TextBox(); - comboBoxLaw = new ComboBox(); - textBoxSum = new TextBox(); - buttonSave = new Button(); - buttonCancel = new Button(); - SuspendLayout(); + this.comboBoxDocument = new System.Windows.Forms.ComboBox(); + this.textBoxCount = new System.Windows.Forms.TextBox(); + this.textBoxSum = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.buttonSave = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); // - // label1 + // comboBoxDocument // - label1.AutoSize = true; - label1.Location = new Point(19, 12); - label1.Name = "label1"; - label1.Size = new Size(56, 15); - label1.TabIndex = 0; - label1.Text = "Изделие:"; - // - // label2 - // - label2.AutoSize = true; - label2.Location = new Point(19, 44); - label2.Name = "label2"; - label2.Size = new Size(75, 15); - label2.TabIndex = 1; - label2.Text = "Количество:"; - // - // label3 - // - label3.AutoSize = true; - label3.Location = new Point(19, 70); - label3.Name = "label3"; - label3.Size = new Size(48, 15); - label3.TabIndex = 2; - label3.Text = "Сумма:"; + this.comboBoxDocument.FormattingEnabled = true; + this.comboBoxDocument.Location = new System.Drawing.Point(116, 12); + this.comboBoxDocument.Name = "comboBoxDocument"; + this.comboBoxDocument.Size = new System.Drawing.Size(198, 23); + this.comboBoxDocument.TabIndex = 0; + this.comboBoxDocument.SelectedIndexChanged += new System.EventHandler(this.comboBoxDocument_SelectedIndexChanged); // // textBoxCount // - textBoxCount.Location = new Point(103, 41); - textBoxCount.Name = "textBoxCount"; - textBoxCount.Size = new Size(246, 23); - textBoxCount.TabIndex = 3; - textBoxCount.TextChanged += textBoxCount_TextChanged; - // - // comboBoxLaw - // - comboBoxLaw.FormattingEnabled = true; - comboBoxLaw.Location = new Point(103, 10); - comboBoxLaw.Name = "comboBoxLaw"; - comboBoxLaw.Size = new Size(246, 23); - comboBoxLaw.TabIndex = 4; - comboBoxLaw.SelectedIndexChanged += ComboBoxLaw_SelectedIndexChanged; + this.textBoxCount.Location = new System.Drawing.Point(116, 41); + this.textBoxCount.Name = "textBoxCount"; + this.textBoxCount.Size = new System.Drawing.Size(198, 23); + this.textBoxCount.TabIndex = 1; + this.textBoxCount.TextChanged += new System.EventHandler(this.textBoxCount_TextChanged); // // textBoxSum // - textBoxSum.Location = new Point(103, 70); - textBoxSum.Name = "textBoxSum"; - textBoxSum.ReadOnly = true; - textBoxSum.Size = new Size(246, 23); - textBoxSum.TabIndex = 5; + this.textBoxSum.Location = new System.Drawing.Point(116, 70); + this.textBoxSum.Name = "textBoxSum"; + this.textBoxSum.Size = new System.Drawing.Size(198, 23); + this.textBoxSum.TabIndex = 2; + this.textBoxSum.TextChanged += new System.EventHandler(this.textBoxSum_TextChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(3, 12); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(110, 15); + this.label1.TabIndex = 3; + this.label1.Text = "Пакет документов:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(3, 44); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(75, 15); + this.label2.TabIndex = 4; + this.label2.Text = "Количество:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(3, 70); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(48, 15); + this.label3.TabIndex = 5; + this.label3.Text = "Сумма:"; // // buttonSave // - buttonSave.Location = new Point(150, 101); - buttonSave.Name = "buttonSave"; - buttonSave.Size = new Size(94, 26); - buttonSave.TabIndex = 6; - buttonSave.Text = "Сохранить"; - buttonSave.UseVisualStyleBackColor = true; - buttonSave.Click += buttonSave_Click; + this.buttonSave.Location = new System.Drawing.Point(180, 122); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(75, 23); + this.buttonSave.TabIndex = 6; + this.buttonSave.Text = "Сохранить"; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click); // // buttonCancel // - buttonCancel.Location = new Point(249, 101); - buttonCancel.Name = "buttonCancel"; - buttonCancel.Size = new Size(94, 26); - buttonCancel.TabIndex = 7; - buttonCancel.Text = "Отмена"; - buttonCancel.UseVisualStyleBackColor = true; - buttonCancel.Click += buttonCancel_Click; + this.buttonCancel.Location = new System.Drawing.Point(282, 122); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 23); + this.buttonCancel.TabIndex = 7; + this.buttonCancel.Text = "Отмена"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); // // FormCreateOrder // - AutoScaleDimensions = new SizeF(7F, 15F); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(374, 136); - Controls.Add(buttonCancel); - Controls.Add(buttonSave); - Controls.Add(textBoxSum); - Controls.Add(comboBoxLaw); - Controls.Add(textBoxCount); - Controls.Add(label3); - Controls.Add(label2); - Controls.Add(label1); - Name = "FormCreateOrder"; - Text = "Заказ"; - Load += FormCreateOrder_Load; - ResumeLayout(false); - PerformLayout(); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(445, 158); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonSave); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.textBoxSum); + this.Controls.Add(this.textBoxCount); + this.Controls.Add(this.comboBoxDocument); + this.Name = "FormCreateOrder"; + this.Text = "Заказ"; + this.Load += new System.EventHandler(this.FormCreateOrder_Load); + this.ResumeLayout(false); + this.PerformLayout(); + } #endregion + private ComboBox comboBoxDocument; + private TextBox textBoxCount; + private TextBox textBoxSum; private Label label1; private Label label2; private Label label3; - private TextBox textBoxCount; - private ComboBox comboBoxLaw; - private TextBox textBoxSum; private Button buttonSave; private Button buttonCancel; } diff --git a/LawFirm/LawFirm/FormCreateOrder.cs b/LawFirm/LawFirm/FormCreateOrder.cs index 039d79c..693a1ba 100644 --- a/LawFirm/LawFirm/FormCreateOrder.cs +++ b/LawFirm/LawFirm/FormCreateOrder.cs @@ -1,7 +1,6 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.BusinessLogicsContracts; -using LawFirmContracts.SearchModels; +using LawFirmContracts.BusinessLogicsContracts; using Microsoft.Extensions.Logging; +using LawFirmContracts.SearchModels; using System; using System.Collections.Generic; using System.ComponentModel; @@ -11,69 +10,83 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using LawFirmContracts.BindingModels; -namespace LawFirm.Forms +namespace LawFirmView { public partial class FormCreateOrder : Form { private readonly ILogger _logger; - private readonly ILawLogic _logicP; + private readonly IDocumentLogic _logicD; private readonly IOrderLogic _logicO; - public FormCreateOrder(ILogger logger, ILawLogic logicP, IOrderLogic logicO) + public FormCreateOrder(ILogger logger, IDocumentLogic logicD, IOrderLogic logicO) { InitializeComponent(); _logger = logger; - _logicP = logicP; + _logicD = logicD; _logicO = logicO; } private void FormCreateOrder_Load(object sender, EventArgs e) { + _logger.LogInformation("Загрузка пакетов документов для заказа"); try { - var list = _logicP.ReadList(null); + var list = _logicD.ReadList(null); if (list != null) { - comboBoxLaw.DisplayMember = "LawName"; - comboBoxLaw.ValueMember = "Id"; - comboBoxLaw.DataSource = list; - comboBoxLaw.SelectedItem = null; - _logger.LogInformation("Загрузка изделий для заказа"); + comboBoxDocument.DisplayMember = "DocumentName"; + comboBoxDocument.ValueMember = "Id"; + comboBoxDocument.DataSource = list; + comboBoxDocument.SelectedItem = null; } + _logger.LogInformation("Пакеты документов загружены"); } catch (Exception ex) { - _logger.LogError(ex, "Ошибка загрузки списка изделий"); + _logger.LogError(ex, "Ошибка загрузки пакетов документов"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); } } private void CalcSum() { - if (comboBoxLaw.SelectedValue != null && !string.IsNullOrEmpty(textBoxCount.Text)) + if (comboBoxDocument.SelectedValue != null && + !string.IsNullOrEmpty(textBoxCount.Text)) { try { - int id = Convert.ToInt32(comboBoxLaw.SelectedValue); - var Law = _logicP.ReadElement(new LawSearchModel + int id = Convert.ToInt32(comboBoxDocument.SelectedValue); + var product = _logicD.ReadElement(new DocumentSearchModel { - Id = id + Id + = id }); int count = Convert.ToInt32(textBoxCount.Text); - textBoxSum.Text = Math.Round(count * (Law?.Price ?? 0), 2).ToString(); + textBoxSum.Text = Math.Round(count * (product?.Price ?? 0), + 2).ToString(); _logger.LogInformation("Расчет суммы заказа"); } catch (Exception ex) { _logger.LogError(ex, "Ошибка расчета суммы заказа"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); } } } + private void textBoxCount_TextChanged(object sender, EventArgs e) { CalcSum(); } - private void ComboBoxLaw_SelectedIndexChanged(object sender, EventArgs e) + private void comboBoxDocument_SelectedIndexChanged(object sender, EventArgs e) + { + CalcSum(); + } + + private void textBoxSum_TextChanged(object sender, EventArgs e) { CalcSum(); } @@ -82,12 +95,14 @@ namespace LawFirm.Forms { if (string.IsNullOrEmpty(textBoxCount.Text)) { - MessageBox.Show("Заполните поле Количество", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("Заполните поле Количество", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); return; } - if (comboBoxLaw.SelectedValue == null) + if (comboBoxDocument.SelectedValue == null) { - MessageBox.Show("Выберите изделие", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("Выберите пакет документов", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _logger.LogInformation("Создание заказа"); @@ -95,7 +110,7 @@ namespace LawFirm.Forms { var operationResult = _logicO.CreateOrder(new OrderBindingModel { - LawId = Convert.ToInt32(comboBoxLaw.SelectedValue), + DocumentId = Convert.ToInt32(comboBoxDocument.SelectedValue), Count = Convert.ToInt32(textBoxCount.Text), Sum = Convert.ToDouble(textBoxSum.Text) }); @@ -103,14 +118,17 @@ namespace LawFirm.Forms { throw new Exception("Ошибка при создании заказа. Дополнительная информация в логах."); } - MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); + MessageBox.Show("Сохранение прошло успешно", "Сообщение", + MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; Close(); } catch (Exception ex) { - _logger.LogError(ex, "Ошибка создания заказа"); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogError(ex, "Ошибка создания заказа"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } + } private void buttonCancel_Click(object sender, EventArgs e) @@ -118,6 +136,5 @@ namespace LawFirm.Forms DialogResult = DialogResult.Cancel; Close(); } - } } diff --git a/LawFirm/LawFirm/FormCreateOrder.resx b/LawFirm/LawFirm/FormCreateOrder.resx index af32865..f298a7b 100644 --- a/LawFirm/LawFirm/FormCreateOrder.resx +++ b/LawFirm/LawFirm/FormCreateOrder.resx @@ -1,64 +1,4 @@ - - - + diff --git a/LawFirm/LawFirm/FormLaw.cs b/LawFirm/LawFirm/FormLaw.cs deleted file mode 100644 index 5aae91a..0000000 --- a/LawFirm/LawFirm/FormLaw.cs +++ /dev/null @@ -1,205 +0,0 @@ -using LawFirmDataModels.Models; -using Microsoft.Extensions.Logging; -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 LawFirmContracts.BusinessLogicsContracts; -using LawFirmContracts.SearchModels; -using LawFirmContracts.BindingModels; - -namespace LawFirm.Forms -{ - public partial class FormLaw : Form - { - private readonly ILogger _logger; - private readonly ILawLogic _logic; - private int? _id; - private Dictionary _productComponents; - public int Id { set { _id = value; } } - public FormLaw(ILogger logger, ILawLogic logic) - { - InitializeComponent(); - _logger = logger; - _logic = logic; - _productComponents = new Dictionary(); - } - private void FormLaw_Load(object sender, EventArgs e) - { - if (_id.HasValue) - { - _logger.LogInformation("Загрузка изделия"); - try - { - var view = _logic.ReadElement(new LawSearchModel - { - Id = _id.Value - }); - if (view != null) - { - textBoxName.Text = view.LawName; - textBoxPrice.Text = view.Price.ToString(); - _productComponents = view.LawComponents ?? new Dictionary(); - LoadData(); - } - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка загрузки изделия"); - } - } - } - private void LoadData() - { - _logger.LogInformation("Загрузка компонент изделия"); - try - { - if (_productComponents != null) - { - dataGridView.Rows.Clear(); - foreach (var pc in _productComponents) - { - dataGridView.Rows.Add(new object[] { pc.Key, pc.Value.Item1.ComponentName, pc.Value.Item2 }); - } - textBoxPrice.Text = CalcPrice().ToString(); - } - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка загрузки компонент изделия"); - } - } - private void buttonAdd_Click(object sender, EventArgs e) - { - var service = Program.ServiceProvider?.GetService(typeof(FormLawComponent)); - if (service is FormLawComponent form) - { - if (form.ShowDialog() == DialogResult.OK) - { - if (form.ComponentModel == null) - { - return; - } - _logger.LogInformation("Добавление нового компонента: { ComponentName} - { Count} ", form.ComponentModel.ComponentName, form.Count); - if (_productComponents.ContainsKey(form.Id)) - { - _productComponents[form.Id] = (form.ComponentModel, form.Count); - } - else - { - _productComponents.Add(form.Id, (form.ComponentModel, form.Count)); - } - LoadData(); - } - } - } - private void buttonUpd_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - var service = Program.ServiceProvider?.GetService(typeof(FormLawComponent)); - if (service is FormLawComponent form) - { - int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells[0].Value); - form.Id = id; - form.Count = _productComponents[id].Item2; - if (form.ShowDialog() == DialogResult.OK) - { - if (form.ComponentModel == null) - { - return; - } - _logger.LogInformation("Изменение компонента: { ComponentName} - { Count}", form.ComponentModel.ComponentName, form.Count); - _productComponents[form.Id] = (form.ComponentModel, form.Count); - LoadData(); - } - } - } - } - private void buttonDel_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - if (MessageBox.Show("Удалить запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - try - { - _logger.LogInformation("Удаление компонента: { ComponentName} - { Count}", dataGridView.SelectedRows[0].Cells[1].Value); - _productComponents?.Remove(Convert.ToInt32(dataGridView.SelectedRows[0].Cells[0].Value)); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - LoadData(); - } - } - } - private void buttonRef_Click(object sender, EventArgs e) - { - LoadData(); - } - private void buttonSave_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(textBoxName.Text)) - { - MessageBox.Show("Заполните название", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - if (string.IsNullOrEmpty(textBoxPrice.Text)) - { - MessageBox.Show("Заполните цену", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - if (_productComponents == null || _productComponents.Count == 0) - { - MessageBox.Show("Заполните компоненты", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - _logger.LogInformation("Сохранение изделия"); - try - { - var model = new LawBindingModel - { - Id = _id ?? 0, - LawName = textBoxName.Text, - Price = Convert.ToDouble(textBoxPrice.Text), - LawComponents = _productComponents - }; - var operationResult = _id.HasValue ? _logic.Update(model) : _logic.Create(model); - if (!operationResult) - { - throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); - } - MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; - Close(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка сохранения изделия"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - - private void buttonCancel_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - Close(); - } - - private double CalcPrice() - { - double price = 0; - foreach (var elem in _productComponents) - { - price += ((elem.Value.Item1?.Cost ?? 0) * elem.Value.Item2); - } - return Math.Round(price * 1.1, 2); - } - } -} diff --git a/LawFirm/LawFirm/FormLaw.resx b/LawFirm/LawFirm/FormLaw.resx deleted file mode 100644 index 5052aba..0000000 --- a/LawFirm/LawFirm/FormLaw.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 - - - True - - - True - - - True - - \ No newline at end of file diff --git a/LawFirm/LawFirm/FormLawComponent.cs b/LawFirm/LawFirm/FormLawComponent.cs deleted file mode 100644 index dfd53e9..0000000 --- a/LawFirm/LawFirm/FormLawComponent.cs +++ /dev/null @@ -1,89 +0,0 @@ -using LawFirmContracts.BusinessLogicsContracts; -using LawFirmContracts.ViewModels; -using LawFirmDataModels.Models; -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 LawFirm.Forms -{ - public partial class FormLawComponent : Form - { - private readonly List? _list; - public int Id - { - get - { - return Convert.ToInt32(comboBoxComponent.SelectedValue); - } - set - { - comboBoxComponent.SelectedValue = value; - } - } - public IComponentModel? ComponentModel - { - get - { - if (_list == null) - { - return null; - } - foreach (var elem in _list) - { - if (elem.Id == Id) - { - return elem; - } - } - return null; - } - } - public int Count - { - get { return Convert.ToInt32(textBoxCount.Text); } - set { textBoxCount.Text = value.ToString(); } - } - - public FormLawComponent(IComponentLogic logic) - { - InitializeComponent(); - - _list = logic.ReadList(null); - if (_list != null) - { - comboBoxComponent.DisplayMember = "ComponentName"; - comboBoxComponent.ValueMember = "Id"; - comboBoxComponent.DataSource = _list; - comboBoxComponent.SelectedItem = null; - } - } - - private void buttonSave_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(textBoxCount.Text)) - { - MessageBox.Show("Заполните поле Количество", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - if (comboBoxComponent.SelectedValue == null) - { - MessageBox.Show("Выберите компонент", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - DialogResult = DialogResult.OK; - Close(); - } - private void buttonCancel_Click(object sender, EventArgs e) - { - DialogResult = DialogResult.Cancel; - Close(); - } - } -} diff --git a/LawFirm/LawFirm/FormLawComponent.resx b/LawFirm/LawFirm/FormLawComponent.resx deleted file mode 100644 index af32865..0000000 --- a/LawFirm/LawFirm/FormLawComponent.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/LawFirm/LawFirm/FormLaws.cs b/LawFirm/LawFirm/FormLaws.cs deleted file mode 100644 index cf1d546..0000000 --- a/LawFirm/LawFirm/FormLaws.cs +++ /dev/null @@ -1,115 +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 LawFirm; -using LawFirmContracts.BindingModels; -using LawFirmContracts.BusinessLogicsContracts; -using Microsoft.Extensions.Logging; - -namespace LawFirm.Forms -{ - public partial class FormLaws : Form - { - private readonly ILogger _logger; - private readonly ILawLogic _logic; - public FormLaws(ILogger logger, ILawLogic logic) - { - InitializeComponent(); - _logger = logger; - _logic = logic; - } - - private void FormLaws_Load(object sender, EventArgs e) - { - LoadData(); - } - - private void LoadData() - { - try - { - var list = _logic.ReadList(null); - if (list != null) - { - dataGridView.DataSource = list; - dataGridView.Columns["Id"].Visible = false; - dataGridView.Columns["LawComponents"].Visible = false; - dataGridView.Columns["LawName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; - } - _logger.LogInformation("Загрузка консерв"); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка загрузки компонентов"); - } - } - - private void buttonAdd_Click(object sender, EventArgs e) - { - var service = Program.ServiceProvider?.GetService(typeof(FormLaw)); - if (service is FormLaw form) - { - if (form.ShowDialog() == DialogResult.OK) - { - LoadData(); - } - } - } - - private void buttonUpd_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - var service = Program.ServiceProvider?.GetService(typeof(FormLaw)); - if (service is FormLaw form) - { - form.Id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - if (form.ShowDialog() == DialogResult.OK) - { - LoadData(); - } - } - } - } - - private void buttonDel_Click(object sender, EventArgs e) - { - if (dataGridView.SelectedRows.Count == 1) - { - if (MessageBox.Show("Удалить запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - int id = - Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Удаление консервы"); - try - { - if (!_logic.Delete(new LawBindingModel - { - Id = id - })) - { - throw new Exception("Ошибка при удалении. Дополнительная информация в логах."); - } - LoadData(); - } - catch (Exception ex) - { - _logger.LogError(ex, "Ошибка удаления консервы"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } - } - - private void buttonRef_Click(object sender, EventArgs e) - { - LoadData(); - } - } -} diff --git a/LawFirm/LawFirm/FormLaws.resx b/LawFirm/LawFirm/FormLaws.resx deleted file mode 100644 index af32865..0000000 --- a/LawFirm/LawFirm/FormLaws.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/LawFirm/LawFirm/FormMain.Designer.cs b/LawFirm/LawFirm/FormMain.Designer.cs index ea79c90..2853cfb 100644 --- a/LawFirm/LawFirm/FormMain.Designer.cs +++ b/LawFirm/LawFirm/FormMain.Designer.cs @@ -67,14 +67,14 @@ // компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; компонентыToolStripMenuItem.Size = new Size(183, 22); - компонентыToolStripMenuItem.Text = "Компоненты"; + компонентыToolStripMenuItem.Text = "Бланки документов"; компонентыToolStripMenuItem.Click += компонентыToolStripMenuItem_Click; // // ПутёвкиToolStripMenuItem // ПутёвкиToolStripMenuItem.Name = "ПутёвкиToolStripMenuItem"; ПутёвкиToolStripMenuItem.Size = new Size(183, 22); - ПутёвкиToolStripMenuItem.Text = "Юридические конс."; + ПутёвкиToolStripMenuItem.Text = "Пакеты документов"; ПутёвкиToolStripMenuItem.Click += консервыToolStripMenuItem_Click; // // buttonCreateOrder diff --git a/LawFirm/LawFirm/FormMain.cs b/LawFirm/LawFirm/FormMain.cs index 1f35414..abd0aad 100644 --- a/LawFirm/LawFirm/FormMain.cs +++ b/LawFirm/LawFirm/FormMain.cs @@ -1,5 +1,6 @@ using LawFirmContracts.BindingModels; using LawFirmContracts.BusinessLogicsContracts; +using LawFirmDataModels.Enums; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -11,7 +12,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; -namespace LawFirm.Forms +namespace LawFirmView { public partial class FormMain : Form { @@ -23,6 +24,7 @@ namespace LawFirm.Forms _logger = logger; _orderLogic = orderLogic; } + private void FormMain_Load(object sender, EventArgs e) { LoadData(); @@ -33,21 +35,21 @@ namespace LawFirm.Forms try { var list = _orderLogic.ReadList(null); - if (list != null) { dataGridView.DataSource = list; - dataGridView.Columns["LawId"].Visible = false; - dataGridView.Columns["LawName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + dataGridView.Columns["DocumentId"].Visible = false; + dataGridView.Columns["DocumentName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } - _logger.LogInformation("Загрузка заказов"); } catch (Exception ex) { _logger.LogError(ex, "Ошибка загрузки заказов"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void компонентыToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormComponents)); @@ -55,16 +57,18 @@ namespace LawFirm.Forms { form.ShowDialog(); } - } - private void консервыToolStripMenuItem_Click(object sender, EventArgs e) - { - var service = Program.ServiceProvider?.GetService(typeof(FormLaws)); - if (service is FormLaws form) + } + + private void пакетыДокументовToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(FormDocuments)); + if (service is FormDocuments form) { form.ShowDialog(); } } + private void buttonCreateOrder_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder)); @@ -73,19 +77,19 @@ namespace LawFirm.Forms form.ShowDialog(); LoadData(); } + } + private void buttonTakeOrderInWork_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 1) { - int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + int id = + Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); _logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id); try { - var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel - { - Id = id, - }); + var operationResult = _orderLogic.TakeOrderInWork(CreateBindingModel(id)); if (!operationResult) { throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); @@ -95,20 +99,24 @@ namespace LawFirm.Forms catch (Exception ex) { _logger.LogError(ex, "Ошибка передачи заказа в работу"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); } } + } + private void buttonOrderReady_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 1) { int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'", id); + _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'", + id); try { - var operationResult = _orderLogic.FinishOrder(new OrderBindingModel { Id = id }); + var operationResult = _orderLogic.FinishOrder(CreateBindingModel(id)); if (!operationResult) { throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); @@ -118,22 +126,23 @@ namespace LawFirm.Forms catch (Exception ex) { _logger.LogError(ex, "Ошибка отметки о готовности заказа"); - MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + } + private void buttonIssuedOrder_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 1) { - int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); - _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'", id); + int id = + Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'", + id); try { - var operationResult = _orderLogic.DeliveryOrder(new OrderBindingModel - { - Id = id - }); + var operationResult = _orderLogic.DeliveryOrder(CreateBindingModel(id)); if (!operationResult) { throw new Exception("Ошибка при сохранении. Дополнительная информация в логах."); @@ -143,13 +152,29 @@ namespace LawFirm.Forms } catch (Exception ex) { - _logger.LogError(ex, "Ошибка отметки о выдачи заказа"); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + _logger.LogError(ex, "Ошибка отметки о выдачи заказа"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, + MessageBoxIcon.Error); } } + } + private void buttonRef_Click(object sender, EventArgs e) { LoadData(); } + private OrderBindingModel CreateBindingModel(int id, bool isDone = false) + { + return new OrderBindingModel + { + Id = id, + DocumentId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DocumentId"].Value), + Status = Enum.Parse(dataGridView.SelectedRows[0].Cells["Status"].Value.ToString()), + Count = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Count"].Value), + Sum = double.Parse(dataGridView.SelectedRows[0].Cells["Sum"].Value.ToString()), + DateCreate = DateTime.Parse(dataGridView.SelectedRows[0].Cells["DateCreate"].Value.ToString()), + }; + } } } diff --git a/LawFirm/LawFirm/FormMain.resx b/LawFirm/LawFirm/FormMain.resx index e226a59..05252e7 100644 --- a/LawFirm/LawFirm/FormMain.resx +++ b/LawFirm/LawFirm/FormMain.resx @@ -1,64 +1,4 @@ - - - + @@ -117,26 +57,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== - - - 56 + 25 \ No newline at end of file diff --git a/LawFirm/LawFirm/LawFirmView.csproj b/LawFirm/LawFirm/LawFirmView.csproj index 5a430f4..9d5ae1b 100644 --- a/LawFirm/LawFirm/LawFirmView.csproj +++ b/LawFirm/LawFirm/LawFirmView.csproj @@ -25,7 +25,6 @@ - diff --git a/LawFirm/LawFirm/Program.cs b/LawFirm/LawFirm/Program.cs index 830b9bc..b8dc6de 100644 --- a/LawFirm/LawFirm/Program.cs +++ b/LawFirm/LawFirm/Program.cs @@ -1,16 +1,17 @@ -using LawFirmContracts.BusinessLogicsContracts; using LawFirmBusinessLogic.BusinessLogic; using LawFirmContracts.StoragesContracts; using LawFirmDatabaseImplement.Implements; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using NLog.Extensions.Logging; +using System; using LawFirm.Forms; using LawFirmBusinessLogic.BusinessLogic; using LawFirmContracts.BusinessLogicsContracts; using LawFirmContracts.StoragesContracts; +namespace LawFirmView namespace LawFirm.Forms { internal static class Program @@ -41,10 +42,12 @@ namespace LawFirm.Forms }); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); diff --git a/LawFirm/LawFirm/nlog.config b/LawFirm/LawFirm/nlog.config deleted file mode 100644 index af70d20..0000000 --- a/LawFirm/LawFirm/nlog.config +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/LawFirm/LawFirmBusinessLogic/BusinessLogic/ComponentLogic.cs b/LawFirm/LawFirmBusinessLogic/BusinessLogic/ComponentLogic.cs index 4b6062e..c8570d4 100644 --- a/LawFirm/LawFirmBusinessLogic/BusinessLogic/ComponentLogic.cs +++ b/LawFirm/LawFirmBusinessLogic/BusinessLogic/ComponentLogic.cs @@ -1,9 +1,14 @@ -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.BusinessLogicsContracts; using LawFirmContracts.SearchModels; using LawFirmContracts.StoragesContracts; using LawFirmContracts.ViewModels; using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; namespace LawFirmBusinessLogic.BusinessLogic { @@ -19,7 +24,7 @@ namespace LawFirmBusinessLogic.BusinessLogic } public List? ReadList(ComponentSearchModel? model) { - _logger.LogInformation("ReadList. ComponentName:{ComponentName}.Id:{Id}", model?.ComponentName, model?.Id); + _logger.LogInformation("ReadList. ComponentName:{ComponentName}.Id:{ Id}", model?.ComponentName, model?.Id); var list = model == null ? _componentStorage.GetFullList() : _componentStorage.GetFilteredList(model); if (list == null) { @@ -29,14 +34,13 @@ namespace LawFirmBusinessLogic.BusinessLogic _logger.LogInformation("ReadList. Count:{Count}", list.Count); return list; } - public ComponentViewModel? ReadElement(ComponentSearchModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } - _logger.LogInformation("ReadElement. ComponentName:{ComponentName}.Id:{Id}", model.ComponentName, model.Id); + _logger.LogInformation("ReadElement. ComponentName:{ComponentName}.Id:{ Id}", model.ComponentName, model.Id); var element = _componentStorage.GetElement(model); if (element == null) { @@ -46,7 +50,6 @@ namespace LawFirmBusinessLogic.BusinessLogic _logger.LogInformation("ReadElement find. Id:{Id}", element.Id); return element; } - public bool Create(ComponentBindingModel model) { CheckModel(model); @@ -57,7 +60,6 @@ namespace LawFirmBusinessLogic.BusinessLogic } return true; } - public bool Update(ComponentBindingModel model) { CheckModel(model); @@ -68,7 +70,6 @@ namespace LawFirmBusinessLogic.BusinessLogic } return true; } - public bool Delete(ComponentBindingModel model) { CheckModel(model, false); @@ -80,8 +81,8 @@ namespace LawFirmBusinessLogic.BusinessLogic } return true; } - - private void CheckModel(ComponentBindingModel model, bool withParams = true) + private void CheckModel(ComponentBindingModel model, bool withParams = + true) { if (model == null) { @@ -93,21 +94,23 @@ namespace LawFirmBusinessLogic.BusinessLogic } if (string.IsNullOrEmpty(model.ComponentName)) { - throw new ArgumentNullException("Нет названия компонента", nameof(model.ComponentName)); + throw new ArgumentNullException("Нет названия компонента", + nameof(model.ComponentName)); } if (model.Cost <= 0) { throw new ArgumentNullException("Цена компонента должна быть больше 0", nameof(model.Cost)); } - _logger.LogInformation("Component. ComponentName:{ComponentName}.Cost:{Cost}. Id: {Id}", model.ComponentName, model.Cost, model.Id); - var element = _componentStorage.GetElement(new ComponentSearchModel + _logger.LogInformation("Component. ComponentName:{ComponentName}.Cost:{ Cost}. Id: { Id}", model.ComponentName, model.Cost, model.Id); + var element = _componentStorage.GetElement(new ComponentSearchModel { - ComponentName = model.ComponentName + ComponentName = model.ComponentName }); if (element != null && element.Id != model.Id) { throw new InvalidOperationException("Компонент с таким названием уже есть"); } } + } -} \ No newline at end of file +} diff --git a/LawFirm/LawFirmBusinessLogic/BusinessLogic/LawLogic.cs b/LawFirm/LawFirmBusinessLogic/BusinessLogic/LawLogic.cs deleted file mode 100644 index 3b734e7..0000000 --- a/LawFirm/LawFirmBusinessLogic/BusinessLogic/LawLogic.cs +++ /dev/null @@ -1,118 +0,0 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.BusinessLogicsContracts; -using LawFirmContracts.SearchModels; -using LawFirmContracts.StoragesContracts; -using LawFirmContracts.ViewModels; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmBusinessLogic.BusinessLogic -{ - public class LawLogic : ILawLogic - { - private readonly ILogger _logger; - private readonly ILawStorage _LawStorage; - public LawLogic(ILogger logger, ILawStorage - LawStorage) - { - _logger = logger; - _LawStorage = LawStorage; - } - public List? ReadList(LawSearchModel? model) - { - _logger.LogInformation("ReadList. LawName:{LawName}.Id:{Id}", model?.LawName, model?.Id); - var list = model == null ? _LawStorage.GetFullList() : _LawStorage.GetFilteredList(model); - if (list == null) - { - _logger.LogWarning("ReadList return null list"); - return null; - } - _logger.LogInformation("ReadList. Count:{Count}", list.Count); - return list; - } - - public LawViewModel? ReadElement(LawSearchModel model) - { - if (model == null) - { - throw new ArgumentNullException(nameof(model)); - } - _logger.LogInformation("ReadElement. LawName:{LawName}.Id:{Id}", model.LawName, model.Id); - var element = _LawStorage.GetElement(model); - if (element == null) - { - _logger.LogWarning("ReadElement element not found"); - return null; - } - _logger.LogInformation("ReadElement find. Id:{Id}", element.Id); - return element; - } - - public bool Create(LawBindingModel model) - { - CheckModel(model); - if (_LawStorage.Insert(model) == null) - { - _logger.LogWarning("Insert operation failed"); - return false; - } - return true; - } - - public bool Update(LawBindingModel model) - { - CheckModel(model); - if (_LawStorage.Update(model) == null) - { - _logger.LogWarning("Update operation failed"); - return false; - } - return true; - } - - public bool Delete(LawBindingModel model) - { - CheckModel(model, false); - _logger.LogInformation("Delete. Id:{Id}", model.Id); - if (_LawStorage.Delete(model) == null) - { - _logger.LogWarning("Delete operation failed"); - return false; - } - return true; - } - - private void CheckModel(LawBindingModel model, bool withParams = true) - { - if (model == null) - { - throw new ArgumentNullException(nameof(model)); - } - if (!withParams) - { - return; - } - if (string.IsNullOrEmpty(model.LawName)) - { - throw new ArgumentNullException("Нет названия изделия", nameof(model.LawName)); - } - if (model.Price <= 0) - { - throw new ArgumentNullException("Цена изделия должна быть больше 0", nameof(model.Price)); - } - _logger.LogInformation("Law. LawName:{LawName}.Price:{Cost}. Id: {Id}", model.LawName, model.Price, model.Id); - var element = _LawStorage.GetElement(new LawSearchModel - { - LawName = model.LawName - }); - if (element != null && element.Id != model.Id) - { - throw new InvalidOperationException("Изделие с таким названием уже есть"); - } - } - } -} diff --git a/LawFirm/LawFirmBusinessLogic/BusinessLogic/OrderLogic.cs b/LawFirm/LawFirmBusinessLogic/BusinessLogic/OrderLogic.cs index e7a5ee9..049f29a 100644 --- a/LawFirm/LawFirmBusinessLogic/BusinessLogic/OrderLogic.cs +++ b/LawFirm/LawFirmBusinessLogic/BusinessLogic/OrderLogic.cs @@ -15,10 +15,6 @@ namespace LawFirmBusinessLogic.BusinessLogic { public class OrderLogic : IOrderLogic { - //Класс с логикой для заказов будет отвечать за получение списка заказов, - //создания заказа и смены его статусов. Следует учитывать, что у заказа можно - //менять статус на новый, если его текущий статус предшествует новому - private readonly ILogger _logger; private readonly IOrderStorage _orderStorage; @@ -30,8 +26,9 @@ namespace LawFirmBusinessLogic.BusinessLogic public List? ReadList(OrderSearchModel? model) { - _logger.LogInformation("ReadList. OrderId:{Id}", model?.Id); - var list = model == null ? _orderStorage.GetFullList() : _orderStorage.GetFilteredList(model); + _logger.LogInformation("ReadList. Id:{ Id}", model?.Id); + var list = model == null ? _orderStorage.GetFullList() : + _orderStorage.GetFilteredList(model); if (list == null) { _logger.LogWarning("ReadList return null list"); @@ -44,76 +41,53 @@ namespace LawFirmBusinessLogic.BusinessLogic public bool CreateOrder(OrderBindingModel model) { CheckModel(model); - - if (model.Status != OrderStatus.Неизвестен) - return false; + if (model.Status != OrderStatus.Неизвестен) return false; model.Status = OrderStatus.Принят; - if (_orderStorage.Insert(model) == null) { - model.Status = OrderStatus.Неизвестен; _logger.LogWarning("Insert operation failed"); return false; } return true; } + public bool ChangeStatus(OrderBindingModel model, OrderStatus status) + { + CheckModel(model); + var element = _orderStorage.GetElement(new OrderSearchModel { Id = model.Id }); + if (element == null) + { + _logger.LogWarning("Read operation failed"); + return false; + } + if (element.Status != status - 1) + { + _logger.LogWarning("Status change operation failed"); + throw new InvalidOperationException("Текущий статус заказа не может быть переведен в выбранный"); + } + model.Status = status; + if (model.Status == OrderStatus.Выдан) model.DateImplement = DateTime.Now; + _orderStorage.Update(model); + return true; + } + public bool TakeOrderInWork(OrderBindingModel model) { - return ToNextStatus(model, OrderStatus.Выполняется); + return ChangeStatus(model, OrderStatus.Выполняется); } public bool FinishOrder(OrderBindingModel model) { - return ToNextStatus(model, OrderStatus.Готов); + return ChangeStatus(model, OrderStatus.Готов); } public bool DeliveryOrder(OrderBindingModel model) { - return ToNextStatus(model, OrderStatus.Выдан); + return ChangeStatus(model, OrderStatus.Выдан); } - public bool ToNextStatus(OrderBindingModel model, OrderStatus orderStatus) - { - CheckModel(model, false); - var element = _orderStorage.GetElement(new OrderSearchModel() - { - Id = model.Id - }); - if (element == null) - { - throw new ArgumentNullException(nameof(element)); - } - - model.LawId = element.LawId; - model.DateCreate = element.DateCreate; - model.DateImplement = element.DateImplement; - model.Status = element.Status; - model.Count = element.Count; - model.Sum = element.Sum; - - if (model.Status != orderStatus - 1) - { - _logger.LogWarning("Status update to " + orderStatus + " operation failed"); - return false; - } - model.Status = orderStatus; - - if (model.Status == OrderStatus.Выдан) - { - model.DateImplement = DateTime.Now; - } - - if (_orderStorage.Update(model) == null) - { - model.Status--; - _logger.LogWarning("Changing status operation faled"); - return false; - } - return true; - } - - private void CheckModel(OrderBindingModel model, bool withParams = true) + private void CheckModel(OrderBindingModel model, bool withParams = +true) { if (model == null) { @@ -123,19 +97,15 @@ namespace LawFirmBusinessLogic.BusinessLogic { return; } - if (model.Count <= 0) - { - throw new ArgumentNullException("Количество изделий должно быть больше 0", nameof(model.Count)); - } if (model.Sum <= 0) { throw new ArgumentNullException("Цена заказа должна быть больше 0", nameof(model.Sum)); } - if (model.DateImplement.HasValue && model.DateImplement < model.DateCreate) + if (model.Count <= 0) { - throw new ArithmeticException($"Дата выдачи заказа {model.DateImplement} должна быть позже даты его создания {model.DateCreate}"); + throw new ArgumentNullException("Количество элементов в заказе должно быть больше 0", nameof(model.Count)); } - _logger.LogInformation("Law. LawId:{LawId}.Count:{Count}.Sum:{Sum}Id:{Id}", model.LawId, model.Count, model.Sum, model.Id); + _logger.LogInformation("Order. Sum:{ Cost}. Id: { Id}", model.Sum, model.Id); } } } diff --git a/LawFirm/LawFirmBusinessLogic/LawFirmBusinessLogic.csproj b/LawFirm/LawFirmBusinessLogic/LawFirmBusinessLogic.csproj index d927f5a..7cbae53 100644 --- a/LawFirm/LawFirmBusinessLogic/LawFirmBusinessLogic.csproj +++ b/LawFirm/LawFirmBusinessLogic/LawFirmBusinessLogic.csproj @@ -7,17 +7,11 @@ - - - - - - + - diff --git a/LawFirm/LawFirmContracts/BindingModels/ComponentBindingModel.cs b/LawFirm/LawFirmContracts/BindingModels/ComponentBindingModel.cs index 45fadc4..f228855 100644 --- a/LawFirm/LawFirmContracts/BindingModels/ComponentBindingModel.cs +++ b/LawFirm/LawFirmContracts/BindingModels/ComponentBindingModel.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace LawFirmContracts.BindingModels +namespace LawFirmContracts.BindingModels.BindingModels { public class ComponentBindingModel : IComponentModel { diff --git a/LawFirm/LawFirmContracts/BindingModels/LawBindingModel.cs b/LawFirm/LawFirmContracts/BindingModels/LawBindingModel.cs deleted file mode 100644 index 880a232..0000000 --- a/LawFirm/LawFirmContracts/BindingModels/LawBindingModel.cs +++ /dev/null @@ -1,17 +0,0 @@ -using LawFirmDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmContracts.BindingModels -{ - public class LawBindingModel : ILawModel - { - public int Id { get; set; } - public string LawName { get; set; } = string.Empty; - public double Price { get; set; } - public Dictionary LawComponents { get; set; } = new(); - } -} diff --git a/LawFirm/LawFirmContracts/BindingModels/OrderBindingModel.cs b/LawFirm/LawFirmContracts/BindingModels/OrderBindingModel.cs index 72d5fde..6390494 100644 --- a/LawFirm/LawFirmContracts/BindingModels/OrderBindingModel.cs +++ b/LawFirm/LawFirmContracts/BindingModels/OrderBindingModel.cs @@ -11,9 +11,9 @@ namespace LawFirmContracts.BindingModels public class OrderBindingModel : IOrderModel { public int Id { get; set; } - public int LawId { get; set; } + public int DocumentId { get; set; } public int Count { get; set; } - public double Sum { get; set; } + public double Sum { get; set; } public OrderStatus Status { get; set; } = OrderStatus.Неизвестен; public DateTime DateCreate { get; set; } = DateTime.Now; public DateTime? DateImplement { get; set; } diff --git a/LawFirm/LawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs b/LawFirm/LawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs index 32fd504..9eb0bcf 100644 --- a/LawFirm/LawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs +++ b/LawFirm/LawFirmContracts/BusinessLogicsContracts/IComponentLogic.cs @@ -1,9 +1,8 @@ -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.SearchModels; using LawFirmContracts.ViewModels; using System; using System.Collections.Generic; -using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; diff --git a/LawFirm/LawFirmContracts/BusinessLogicsContracts/ILawLogic.cs b/LawFirm/LawFirmContracts/BusinessLogicsContracts/ILawLogic.cs deleted file mode 100644 index 5a14877..0000000 --- a/LawFirm/LawFirmContracts/BusinessLogicsContracts/ILawLogic.cs +++ /dev/null @@ -1,20 +0,0 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.SearchModels; -using LawFirmContracts.ViewModels; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmContracts.BusinessLogicsContracts -{ - public interface ILawLogic - { - List? ReadList(LawSearchModel? model); - LawViewModel? ReadElement(LawSearchModel model); - bool Create(LawBindingModel model); - bool Update(LawBindingModel model); - bool Delete(LawBindingModel model); - } -} diff --git a/LawFirm/LawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs b/LawFirm/LawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs index 03b0a48..d6a638b 100644 --- a/LawFirm/LawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs +++ b/LawFirm/LawFirmContracts/BusinessLogicsContracts/IOrderLogic.cs @@ -14,17 +14,7 @@ namespace LawFirmContracts.BusinessLogicsContracts List? ReadList(OrderSearchModel? model); bool CreateOrder(OrderBindingModel model); bool TakeOrderInWork(OrderBindingModel model); - /// - /// Готов - /// - /// - /// bool FinishOrder(OrderBindingModel model); - /// - /// Доставлен - /// - /// - /// bool DeliveryOrder(OrderBindingModel model); } } diff --git a/LawFirm/LawFirmContracts/LawFirmContracts.csproj b/LawFirm/LawFirmContracts/LawFirmContracts.csproj index e52bb36..edb0990 100644 --- a/LawFirm/LawFirmContracts/LawFirmContracts.csproj +++ b/LawFirm/LawFirmContracts/LawFirmContracts.csproj @@ -6,15 +6,6 @@ enable - - - - - - - - - diff --git a/LawFirm/LawFirmContracts/SearchModels/LawSearchModel.cs b/LawFirm/LawFirmContracts/SearchModels/LawSearchModel.cs deleted file mode 100644 index 0e9fd1c..0000000 --- a/LawFirm/LawFirmContracts/SearchModels/LawSearchModel.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmContracts.SearchModels -{ - public class LawSearchModel - { - public int? Id { get; set; } - public string? LawName { get; set; } - } -} diff --git a/LawFirm/LawFirmContracts/StoragesContracts/IComponentStorage.cs b/LawFirm/LawFirmContracts/StoragesContracts/IComponentStorage.cs index 6ddc031..1cd97bf 100644 --- a/LawFirm/LawFirmContracts/StoragesContracts/IComponentStorage.cs +++ b/LawFirm/LawFirmContracts/StoragesContracts/IComponentStorage.cs @@ -1,4 +1,4 @@ -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.SearchModels; using LawFirmContracts.ViewModels; using System; @@ -17,6 +17,5 @@ namespace LawFirmContracts.StoragesContracts ComponentViewModel? Insert(ComponentBindingModel model); ComponentViewModel? Update(ComponentBindingModel model); ComponentViewModel? Delete(ComponentBindingModel model); - } } diff --git a/LawFirm/LawFirmContracts/StoragesContracts/ILawStorage.cs b/LawFirm/LawFirmContracts/StoragesContracts/ILawStorage.cs deleted file mode 100644 index c674f35..0000000 --- a/LawFirm/LawFirmContracts/StoragesContracts/ILawStorage.cs +++ /dev/null @@ -1,21 +0,0 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.SearchModels; -using LawFirmContracts.ViewModels; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmContracts.StoragesContracts -{ - public interface ILawStorage - { - List GetFullList(); - List GetFilteredList(LawSearchModel model); - LawViewModel? GetElement(LawSearchModel model); - LawViewModel? Insert(LawBindingModel model); - LawViewModel? Update(LawBindingModel model); - LawViewModel? Delete(LawBindingModel model); - } -} diff --git a/LawFirm/LawFirmContracts/ViewModels/LawViewModel.cs b/LawFirm/LawFirmContracts/ViewModels/LawViewModel.cs deleted file mode 100644 index 0e3dc0e..0000000 --- a/LawFirm/LawFirmContracts/ViewModels/LawViewModel.cs +++ /dev/null @@ -1,21 +0,0 @@ -using LawFirmDataModels.Models; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmContracts.ViewModels -{ - public class LawViewModel : ILawModel - { - public int Id { get; set; } - [DisplayName("Название изделия")] - public string LawName { get; set; } - [DisplayName("Цена")] - public double Price { get; set; } - public Dictionary LawComponents { get; set; } = new(); - - } -} diff --git a/LawFirm/LawFirmContracts/ViewModels/OrderViewModel.cs b/LawFirm/LawFirmContracts/ViewModels/OrderViewModel.cs index f010bd0..7b60400 100644 --- a/LawFirm/LawFirmContracts/ViewModels/OrderViewModel.cs +++ b/LawFirm/LawFirmContracts/ViewModels/OrderViewModel.cs @@ -1,4 +1,5 @@ using LawFirmDataModels.Enums; +using LawFirmDataModels.Models; using System; using System.Collections.Generic; using System.ComponentModel; @@ -8,13 +9,13 @@ using System.Threading.Tasks; namespace LawFirmContracts.ViewModels { - public class OrderViewModel + public class OrderViewModel : IOrderModel { [DisplayName("Номер")] public int Id { get; set; } - public int LawId { get; set; } - [DisplayName("Изделие")] - public string LawName { get; set; } = string.Empty; + public int DocumentId { get; set; } + [DisplayName("Пакет документов")] + public string DocumentName { get; set; } = string.Empty; [DisplayName("Количество")] public int Count { get; set; } [DisplayName("Сумма")] diff --git a/LawFirm/LawFirmDataModels/Enums/OrderStatus.cs b/LawFirm/LawFirmDataModels/Enums/OrderStatus.cs index fa2c6b9..afb4ab0 100644 --- a/LawFirm/LawFirmDataModels/Enums/OrderStatus.cs +++ b/LawFirm/LawFirmDataModels/Enums/OrderStatus.cs @@ -1,4 +1,10 @@ -namespace LawFirmDataModels.Enums +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LawFirmDataModels.Enums { public enum OrderStatus { @@ -6,6 +12,6 @@ Принят = 0, Выполняется = 1, Готов = 2, - Выдан = 3, + Выдан = 3 } -} \ No newline at end of file +} diff --git a/LawFirm/LawFirmDataModels/LawFirmDataModels.csproj b/LawFirm/LawFirmDataModels/LawFirmDataModels.csproj index a3211fe..cfadb03 100644 --- a/LawFirm/LawFirmDataModels/LawFirmDataModels.csproj +++ b/LawFirm/LawFirmDataModels/LawFirmDataModels.csproj @@ -6,13 +6,4 @@ enable - - - - - - - - - diff --git a/LawFirm/LawFirmDataModels/Models/IComponentModel.cs b/LawFirm/LawFirmDataModels/Models/IComponentModel.cs index c2e5dec..2031eb5 100644 --- a/LawFirm/LawFirmDataModels/Models/IComponentModel.cs +++ b/LawFirm/LawFirmDataModels/Models/IComponentModel.cs @@ -1,8 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using LawFirmDataModels; + namespace LawFirmDataModels.Models { public interface IComponentModel : IId { string ComponentName { get; } double Cost { get; } + } -} \ No newline at end of file +} diff --git a/LawFirm/LawFirmDataModels/Models/ILawModel.cs b/LawFirm/LawFirmDataModels/Models/ILawModel.cs deleted file mode 100644 index afa9da1..0000000 --- a/LawFirm/LawFirmDataModels/Models/ILawModel.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace LawFirmDataModels.Models -{ - public interface ILawModel : IId - { - string LawName { get; } - double Price { get; } - Dictionary LawComponents { get; } - } -} \ No newline at end of file diff --git a/LawFirm/LawFirmDataModels/Models/IOrderModel.cs b/LawFirm/LawFirmDataModels/Models/IOrderModel.cs index c026f23..728eb34 100644 --- a/LawFirm/LawFirmDataModels/Models/IOrderModel.cs +++ b/LawFirm/LawFirmDataModels/Models/IOrderModel.cs @@ -1,14 +1,21 @@ +using LawFirmDataModels; using LawFirmDataModels.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; namespace LawFirmDataModels.Models { public interface IOrderModel : IId { - int LawId { get; } + int DocumentId { get; } int Count { get; } double Sum { get; } OrderStatus Status { get; } DateTime DateCreate { get; } DateTime? DateImplement { get; } + } -} \ No newline at end of file +} diff --git a/LawFirm/LawFirmFileImplement/DataFileSingleton.cs b/LawFirm/LawFirmFileImplement/DataFileSingleton.cs index 57a6388..2641f2c 100644 --- a/LawFirm/LawFirmFileImplement/DataFileSingleton.cs +++ b/LawFirm/LawFirmFileImplement/DataFileSingleton.cs @@ -1,7 +1,6 @@ using LawFirmFileImplement.Models; using System; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -9,15 +8,15 @@ using System.Xml.Linq; namespace LawFirmFileImplement { - public class DataFileSingleton + internal class DataFileSingleton { private static DataFileSingleton? instance; private readonly string ComponentFileName = "Component.xml"; private readonly string OrderFileName = "Order.xml"; - private readonly string LawFileName = "Law.xml"; + private readonly string DocumentFileName = "Document.xml"; public List Components { get; private set; } public List Orders { get; private set; } - public List Laws { get; private set; } + public List Documents { get; private set; } public static DataFileSingleton GetInstance() { if (instance == null) @@ -27,15 +26,17 @@ namespace LawFirmFileImplement return instance; } public void SaveComponents() => SaveData(Components, ComponentFileName, "Components", x => x.GetXElement); - public void SaveLaws() => SaveData(Laws, LawFileName, "Laws", x => x.GetXElement); + public void SaveDocuments() => SaveData(Documents, DocumentFileName, "Documents", x => x.GetXElement); public void SaveOrders() => SaveData(Orders, OrderFileName, "Orders", x => x.GetXElement); private DataFileSingleton() { Components = LoadData(ComponentFileName, "Component", x => Component.Create(x)!)!; - Laws = LoadData(LawFileName, "Law", x => Law.Create(x)!)!; + Documents = LoadData(DocumentFileName, "Document", x => Document.Create(x)!)!; Orders = LoadData(OrderFileName, "Order", x => Order.Create(x)!)!; + //Orders = new List(); } - private static List? LoadData(string filename, string xmlNodeName, Func selectFunction) + private static List? LoadData(string filename, string xmlNodeName, + Func selectFunction) { if (File.Exists(filename)) { @@ -44,13 +45,14 @@ namespace LawFirmFileImplement } return new List(); } - private static void SaveData(List data, string filename, string xmlNodeName, Func selectFunction) + private static void SaveData(List data, string filename, string + xmlNodeName, Func selectFunction) { if (data != null) { new XDocument(new XElement(xmlNodeName, data.Select(selectFunction).ToArray())).Save(filename); } + } } } - diff --git a/LawFirm/LawFirmFileImplement/Implements/ComponentStorage.cs b/LawFirm/LawFirmFileImplement/Implements/ComponentStorage.cs index 21227e2..e23ae72 100644 --- a/LawFirm/LawFirmFileImplement/Implements/ComponentStorage.cs +++ b/LawFirm/LawFirmFileImplement/Implements/ComponentStorage.cs @@ -1,4 +1,4 @@ -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.SearchModels; using LawFirmContracts.StoragesContracts; using LawFirmContracts.ViewModels; @@ -36,7 +36,9 @@ namespace LawFirmFileImplement.Implements { return null; } - return source.Components.FirstOrDefault(x => (!string.IsNullOrEmpty(model.ComponentName) && x.ComponentName == model.ComponentName) || + return source.Components.FirstOrDefault(x => + (!string.IsNullOrEmpty(model.ComponentName) && x.ComponentName == + model.ComponentName) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; } public ComponentViewModel? Insert(ComponentBindingModel model) @@ -73,6 +75,5 @@ namespace LawFirmFileImplement.Implements } return null; } - } } diff --git a/LawFirm/LawFirmFileImplement/Implements/LawStorage.cs b/LawFirm/LawFirmFileImplement/Implements/LawStorage.cs deleted file mode 100644 index dd44e1a..0000000 --- a/LawFirm/LawFirmFileImplement/Implements/LawStorage.cs +++ /dev/null @@ -1,82 +0,0 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.SearchModels; -using LawFirmContracts.StoragesContracts; -using LawFirmContracts.ViewModels; -using LawFirmFileImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmFileImplement.Implements -{ - public class LawStorage : ILawStorage - { - private readonly DataFileSingleton source; - - public LawStorage() - { - source = DataFileSingleton.GetInstance(); - } - - public LawViewModel? GetElement(LawSearchModel model) - { - if (string.IsNullOrEmpty(model.LawName) && !model.Id.HasValue) - { - return null; - } - return source.Laws.FirstOrDefault(x => (!string.IsNullOrEmpty(model.LawName) && x.LawName == model.LawName) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; - } - - public List GetFilteredList(LawSearchModel model) - { - if (string.IsNullOrEmpty(model.LawName)) - { - return new(); - } - return source.Laws.Where(x => x.LawName.Contains(model.LawName)).Select(x => x.GetViewModel).ToList(); - } - - public List GetFullList() - { - return source.Laws.Select(x => x.GetViewModel).ToList(); - } - - public LawViewModel? Insert(LawBindingModel model) - { - model.Id = source.Laws.Count > 0 ? source.Laws.Max(x => x.Id) + 1 : 1; - var newDoc = Law.Create(model); - if (newDoc == null) - { - return null; - } - source.Laws.Add(newDoc); - source.SaveLaws(); - return newDoc.GetViewModel; - } - - public LawViewModel? Update(LawBindingModel model) - { - var document = source.Laws.FirstOrDefault(x => x.Id == model.Id); - if (document == null) - { - return null; - } - document.Update(model); - source.SaveLaws(); - return document.GetViewModel; - } - public LawViewModel? Delete(LawBindingModel model) - { - var document = source.Laws.FirstOrDefault(x => x.Id == model.Id); - if (document == null) - { - return null; - } - document.Update(model); - source.SaveLaws(); - return document.GetViewModel; - } - } -} diff --git a/LawFirm/LawFirmFileImplement/Implements/OrderStorage.cs b/LawFirm/LawFirmFileImplement/Implements/OrderStorage.cs index ae8f7d1..fac9602 100644 --- a/LawFirm/LawFirmFileImplement/Implements/OrderStorage.cs +++ b/LawFirm/LawFirmFileImplement/Implements/OrderStorage.cs @@ -26,7 +26,7 @@ namespace LawFirmFileImplement.Implements { return null; } - return GetViewModel(source.Orders.FirstOrDefault(x => model.Id.HasValue && x.Id == model.Id)); + return GetViewModel(source.Orders.FirstOrDefault(x => (model.Id.HasValue && x.Id == model.Id))); } public List GetFilteredList(OrderSearchModel model) @@ -74,7 +74,7 @@ namespace LawFirmFileImplement.Implements { return null; } - order.Update(model); + source.Orders.Remove(order); source.SaveOrders(); return GetViewModel(order); } @@ -82,13 +82,10 @@ namespace LawFirmFileImplement.Implements private OrderViewModel GetViewModel(Order order) { var viewModel = order.GetViewModel; - foreach (var comp in source.Laws) + var document = source.Documents.FirstOrDefault(x => x.Id == order.DocumentId); + if (document != null) { - if (comp.Id == order.LawId) - { - viewModel.LawName = comp.LawName; - break; - } + viewModel.DocumentName = document.DocumentName; } return viewModel; } diff --git a/LawFirm/LawFirmFileImplement/Models/Component.cs b/LawFirm/LawFirmFileImplement/Models/Component.cs index 0f951a7..a6786bf 100644 --- a/LawFirm/LawFirmFileImplement/Models/Component.cs +++ b/LawFirm/LawFirmFileImplement/Models/Component.cs @@ -1,4 +1,4 @@ -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.ViewModels; using LawFirmDataModels.Models; using System; diff --git a/LawFirm/LawFirmFileImplement/Models/Law.cs b/LawFirm/LawFirmFileImplement/Models/Law.cs deleted file mode 100644 index 51138fc..0000000 --- a/LawFirm/LawFirmFileImplement/Models/Law.cs +++ /dev/null @@ -1,95 +0,0 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.ViewModels; -using LawFirmDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; - -namespace LawFirmFileImplement.Models -{ - public class Law : ILawModel - { - public int Id { get; private set; } - public string LawName { get; private set; } = string.Empty; - public double Price { get; private set; } - public Dictionary Components { get; private set; } = new(); - private Dictionary? _LawComponents = null; - public Dictionary LawComponents - { - get - { - if (_LawComponents == null) - { - var source = DataFileSingleton.GetInstance(); - _LawComponents = Components.ToDictionary(x => x.Key, y => - ((source.Components.FirstOrDefault(z => z.Id == y.Key) as IComponentModel)!, - y.Value)); - } - return _LawComponents; - } - } - public static Law? Create(LawBindingModel model) - { - if (model == null) - { - return null; - } - return new Law() - { - Id = model.Id, - LawName = model.LawName, - Price = model.Price, - Components = model.LawComponents.ToDictionary(x => x.Key, x - => x.Value.Item2) - }; - } - public static Law? Create(XElement element) - { - if (element == null) - { - return null; - } - return new Law() - { - Id = Convert.ToInt32(element.Attribute("Id")!.Value), - LawName = element.Element("LawName")!.Value, - Price = Convert.ToDouble(element.Element("Price")!.Value), - Components = - element.Element("LawComponents")!.Elements("LawComponent") - .ToDictionary(x => - Convert.ToInt32(x.Element("Key")?.Value), x => - Convert.ToInt32(x.Element("Value")?.Value)) - }; - } - public void Update(LawBindingModel model) - { - if (model == null) - { - return; - } - LawName = model.LawName; - Price = model.Price; - Components = model.LawComponents.ToDictionary(x => x.Key, x => - x.Value.Item2); - _LawComponents = null; - } - public LawViewModel GetViewModel => new() - { - Id = Id, - LawName = LawName, - Price = Price, - LawComponents = LawComponents - }; - public XElement GetXElement => new("Law", - new XAttribute("Id", Id), - new XElement("LawName", LawName), - new XElement("Price", Price.ToString()), - new XElement("LawComponents", Components.Select(x => new XElement("LawComponent", new XElement("Key", x.Key), new XElement("Value", x.Value))) - - .ToArray())); - - } -} diff --git a/LawFirm/LawFirmFileImplement/Models/Order.cs b/LawFirm/LawFirmFileImplement/Models/Order.cs index 4a7e921..31bb7e8 100644 --- a/LawFirm/LawFirmFileImplement/Models/Order.cs +++ b/LawFirm/LawFirmFileImplement/Models/Order.cs @@ -13,7 +13,7 @@ namespace LawFirmFileImplement.Models { public class Order : IOrderModel { - public int LawId { get; private set; } + public int DocumentId { get; private set; } public int Count { get; private set; } @@ -33,15 +33,15 @@ namespace LawFirmFileImplement.Models { return null; } - return new Order() + return new Order { - Id = model.Id, - LawId = model.LawId, + DocumentId = model.DocumentId, Count = model.Count, Sum = model.Sum, Status = model.Status, DateCreate = model.DateCreate, - DateImplement = model.DateImplement + DateImplement = model.DateImplement, + Id = model.Id, }; } @@ -51,24 +51,16 @@ namespace LawFirmFileImplement.Models { return null; } - var order = new Order() + return new Order() { Id = Convert.ToInt32(element.Attribute("Id")!.Value), - LawId = Convert.ToInt32(element.Element("LawId")!.Value), - Count = Convert.ToInt32(element.Element("Count")!.Value), + DocumentId = Convert.ToInt32(element.Element("DocumentId")!.Value), Sum = Convert.ToDouble(element.Element("Sum")!.Value), - DateCreate = DateTime.ParseExact(element.Element("DateCreate")!.Value, "G", null), + Count = Convert.ToInt32(element.Element("Count")!.Value), + Status = (OrderStatus)Enum.Parse(typeof(OrderStatus), element.Element("Status")!.Value), + DateCreate = Convert.ToDateTime(element.Element("DateCreate")!.Value), + DateImplement = string.IsNullOrEmpty(element.Element("DateImplement")!.Value) ? null : Convert.ToDateTime(element.Element("DateImplement")!.Value) }; - DateTime.TryParse(element.Element("DateImplement")!.Value, out DateTime dateImpl); - - order.DateImplement = dateImpl; - - if (!Enum.TryParse(element.Element("Status")!.Value, out OrderStatus status)) - { - return null; - } - order.Status = status; - return order; } public void Update(OrderBindingModel? model) @@ -83,22 +75,24 @@ namespace LawFirmFileImplement.Models public OrderViewModel GetViewModel => new() { - Id = Id, - LawId = LawId, + DocumentId = DocumentId, Count = Count, Sum = Sum, - Status = Status, DateCreate = DateCreate, - DateImplement = DateImplement + DateImplement = DateImplement, + Id = Id, + Status = Status, }; - public XElement GetXElement => new("Order", - new XAttribute("Id", Id), - new XElement("LawId", LawId), - new XElement("Count", Count.ToString()), - new XElement("Sum", Sum.ToString()), - new XElement("Status", Status.ToString()), - new XElement("DateCreate", DateCreate.ToString()), - new XElement("DateImplement", DateImplement.ToString())); + public XElement GetXElement => new( + "Order", + new XAttribute("Id", Id), + new XElement("DocumentId", DocumentId.ToString()), + new XElement("Count", Count.ToString()), + new XElement("Sum", Sum.ToString()), + new XElement("Status", Status.ToString()), + new XElement("DateCreate", DateCreate.ToString()), + new XElement("DateImplement", DateImplement.ToString()) + ); } } diff --git a/LawFirm/LawFirmListImplement/DataListSingleton.cs b/LawFirm/LawFirmListImplement/DataListSingleton.cs index fac7511..7aabb6f 100644 --- a/LawFirm/LawFirmListImplement/DataListSingleton.cs +++ b/LawFirm/LawFirmListImplement/DataListSingleton.cs @@ -7,17 +7,17 @@ using System.Threading.Tasks; namespace LawFirmListImplement { - internal class DataListSingleton + public class DataListSingleton { private static DataListSingleton? _instance; public List Components { get; set; } public List Orders { get; set; } - public List Laws { get; set; } + public List Documents { get; set; } private DataListSingleton() { Components = new List(); Orders = new List(); - Laws = new List(); + Documents = new List(); } public static DataListSingleton GetInstance() { diff --git a/LawFirm/LawFirmListImplement/Implements/ComponentStorage.cs b/LawFirm/LawFirmListImplement/Implements/ComponentStorage.cs index 364e310..1dc15d1 100644 --- a/LawFirm/LawFirmListImplement/Implements/ComponentStorage.cs +++ b/LawFirm/LawFirmListImplement/Implements/ComponentStorage.cs @@ -1,6 +1,6 @@ -using LawFirmContracts.StoragesContracts; -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.SearchModels; +using LawFirmContracts.StoragesContracts; using LawFirmContracts.ViewModels; using LawFirmListImplement.Models; using System; @@ -27,7 +27,8 @@ namespace LawFirmListImplement.Implements } return result; } - public List GetFilteredList(ComponentSearchModel model) + public List GetFilteredList(ComponentSearchModel + model) { var result = new List(); if (string.IsNullOrEmpty(model.ComponentName)) @@ -51,11 +52,12 @@ namespace LawFirmListImplement.Implements } foreach (var component in _source.Components) { - if ((!string.IsNullOrEmpty(model.ComponentName) && component.ComponentName == model.ComponentName) || - (model.Id.HasValue && component.Id == model.Id)) - { - return component.GetViewModel; - } + if ((!string.IsNullOrEmpty(model.ComponentName) && + component.ComponentName == model.ComponentName) || + (model.Id.HasValue && component.Id == model.Id)) + { + return component.GetViewModel; + } } return null; } diff --git a/LawFirm/LawFirmListImplement/Implements/LawStorage.cs b/LawFirm/LawFirmListImplement/Implements/LawStorage.cs deleted file mode 100644 index b928db3..0000000 --- a/LawFirm/LawFirmListImplement/Implements/LawStorage.cs +++ /dev/null @@ -1,112 +0,0 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.SearchModels; -using LawFirmContracts.StoragesContracts; -using LawFirmContracts.ViewModels; -using LawFirmListImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmListImplement.Implements -{ - public class LawStorage : ILawStorage - { - private readonly DataListSingleton _source; - public LawStorage() - { - _source = DataListSingleton.GetInstance(); - } - - public LawViewModel? Delete(LawBindingModel model) - { - for (int i = 0; i < _source.Laws.Count; ++i) - { - if (_source.Laws[i].Id == model.Id) - { - var element = _source.Laws[i]; - _source.Laws.RemoveAt(i); - return element.GetViewModel; - } - } - return null; - } - - public LawViewModel? GetElement(LawSearchModel model) - { - if (string.IsNullOrEmpty(model.LawName) && !model.Id.HasValue) - { - return null; - } - foreach (var Law in _source.Laws) - { - if ((!string.IsNullOrEmpty(model.LawName) && Law.LawName == model.LawName) || - (model.Id.HasValue && Law.Id == model.Id)) - { - return Law.GetViewModel; - } - } - return null; - } - - public List GetFilteredList(LawSearchModel model) - { - var result = new List(); - if (string.IsNullOrEmpty(model.LawName)) - { - return result; - } - foreach (var Law in _source.Laws) - { - if (Law.LawName.Contains(model.LawName)) - { - result.Add(Law.GetViewModel); - } - } - return result; - } - - public List GetFullList() - { - var result = new List(); - foreach (var Law in _source.Laws) - { - result.Add(Law.GetViewModel); - } - return result; - } - - public LawViewModel? Insert(LawBindingModel model) - { - model.Id = 1; - foreach (var Law in _source.Laws) - { - if (model.Id <= Law.Id) - { - model.Id = Law.Id + 1; - } - } - var newLaw = Law.Create(model); - if (newLaw == null) - { - return null; - } - _source.Laws.Add(newLaw); - return newLaw.GetViewModel; - } - - public LawViewModel? Update(LawBindingModel model) - { - foreach (var Law in _source.Laws) - { - if (Law.Id == model.Id) - { - Law.Update(model); - return Law.GetViewModel; - } - } - return null; - } - } -} diff --git a/LawFirm/LawFirmListImplement/Implements/OrderStorage.cs b/LawFirm/LawFirmListImplement/Implements/OrderStorage.cs index 64929e5..50a482d 100644 --- a/LawFirm/LawFirmListImplement/Implements/OrderStorage.cs +++ b/LawFirm/LawFirmListImplement/Implements/OrderStorage.cs @@ -1,8 +1,8 @@ using LawFirmContracts.BindingModels; using LawFirmContracts.SearchModels; -using LawFirmContracts.StoragesContracts; using LawFirmContracts.ViewModels; using LawFirmListImplement.Models; +using LawFirmContracts.StoragesContracts; using System; using System.Collections.Generic; using System.Linq; @@ -14,26 +14,24 @@ namespace LawFirmListImplement.Implements public class OrderStorage : IOrderStorage { private readonly DataListSingleton _source; - public OrderStorage() { _source = DataListSingleton.GetInstance(); } - public List GetFullList() { var result = new List(); foreach (var order in _source.Orders) { - result.Add(AttachLawName(order.GetViewModel)); + result.Add(AccessDocumentStorage(order.GetViewModel)); } return result; } - - public List GetFilteredList(OrderSearchModel model) + public List GetFilteredList(OrderSearchModel + model) { var result = new List(); - if (model == null || !model.Id.HasValue) + if (!model.Id.HasValue) { return result; } @@ -41,12 +39,11 @@ namespace LawFirmListImplement.Implements { if (order.Id == model.Id) { - result.Add(AttachLawName(order.GetViewModel)); + result.Add(AccessDocumentStorage(order.GetViewModel)); } } return result; } - public OrderViewModel? GetElement(OrderSearchModel model) { if (!model.Id.HasValue) @@ -57,12 +54,11 @@ namespace LawFirmListImplement.Implements { if (model.Id.HasValue && order.Id == model.Id) { - return AttachLawName(order.GetViewModel); + return order.GetViewModel; } } return null; } - public OrderViewModel? Insert(OrderBindingModel model) { model.Id = 1; @@ -79,9 +75,8 @@ namespace LawFirmListImplement.Implements return null; } _source.Orders.Add(newOrder); - return AttachLawName(newOrder.GetViewModel); + return newOrder.GetViewModel; } - public OrderViewModel? Update(OrderBindingModel model) { foreach (var order in _source.Orders) @@ -89,12 +84,11 @@ namespace LawFirmListImplement.Implements if (order.Id == model.Id) { order.Update(model); - return AttachLawName(order.GetViewModel); + return order.GetViewModel; } } return null; } - public OrderViewModel? Delete(OrderBindingModel model) { for (int i = 0; i < _source.Orders.Count; ++i) @@ -103,20 +97,19 @@ namespace LawFirmListImplement.Implements { var element = _source.Orders[i]; _source.Orders.RemoveAt(i); - return AttachLawName(element.GetViewModel); + return element.GetViewModel; } } return null; } - - private OrderViewModel AttachLawName(OrderViewModel model) + public OrderViewModel AccessDocumentStorage(OrderViewModel model) { - foreach (var Law in _source.Laws) + foreach (var document in _source.Documents) { - if (Law.Id == model.LawId) + if (document.Id == model.DocumentId) { - model.LawName = Law.LawName; - return model; + model.DocumentName = document.DocumentName; + break; } } return model; diff --git a/LawFirm/LawFirmListImplement/Models/Component.cs b/LawFirm/LawFirmListImplement/Models/Component.cs index efe1e46..b1e0016 100644 --- a/LawFirm/LawFirmListImplement/Models/Component.cs +++ b/LawFirm/LawFirmListImplement/Models/Component.cs @@ -1,6 +1,11 @@ -using LawFirmContracts.BindingModels; +using LawFirmContracts.BindingModels.BindingModels; using LawFirmContracts.ViewModels; using LawFirmDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; namespace LawFirmListImplement.Models { @@ -37,5 +42,6 @@ namespace LawFirmListImplement.Models ComponentName = ComponentName, Cost = Cost }; + } -} \ No newline at end of file +} diff --git a/LawFirm/LawFirmListImplement/Models/Law.cs b/LawFirm/LawFirmListImplement/Models/Law.cs deleted file mode 100644 index 387891e..0000000 --- a/LawFirm/LawFirmListImplement/Models/Law.cs +++ /dev/null @@ -1,55 +0,0 @@ -using LawFirmContracts.BindingModels; -using LawFirmContracts.ViewModels; -using LawFirmDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace LawFirmListImplement.Models -{ - internal class Law : ILawModel - { - public int Id { get; private set; } - public string LawName { get; private set; } = string.Empty; - public double Price { get; private set; } - public Dictionary LawComponents - { - get; - private set; - } = new Dictionary(); - public static Law? Create(LawBindingModel? model) - { - if (model == null) - { - return null; - } - return new Law() - { - Id = model.Id, - LawName = model.LawName, - Price = model.Price, - LawComponents = model.LawComponents - }; - } - public void Update(LawBindingModel? model) - { - if (model == null) - { - return; - } - LawName = model.LawName; - Price = model.Price; - LawComponents = model.LawComponents; - } - public LawViewModel GetViewModel => new() - { - Id = Id, - LawName = LawName, - Price = Price, - LawComponents = LawComponents - }; - - } -} diff --git a/LawFirm/LawFirmListImplement/Models/Order.cs b/LawFirm/LawFirmListImplement/Models/Order.cs index 7f40e77..90b76e1 100644 --- a/LawFirm/LawFirmListImplement/Models/Order.cs +++ b/LawFirm/LawFirmListImplement/Models/Order.cs @@ -5,7 +5,6 @@ using LawFirmDataModels.Models; using System; using System.Collections.Generic; using System.Linq; -using System.Reflection; using System.Text; using System.Threading.Tasks; @@ -14,7 +13,7 @@ namespace LawFirmListImplement.Models public class Order : IOrderModel { public int Id { get; private set; } - public int LawId { get; private set; } + public int DocumentId { get; private set; } public int Count { get; private set; } public double Sum { get; private set; } public OrderStatus Status { get; private set; } @@ -29,7 +28,7 @@ namespace LawFirmListImplement.Models return new Order() { Id = model.Id, - LawId = model.LawId, + DocumentId = model.DocumentId, Count = model.Count, Sum = model.Sum, Status = model.Status, @@ -43,7 +42,8 @@ namespace LawFirmListImplement.Models { return; } - LawId = model.LawId; + Id = model.Id; + DocumentId = model.DocumentId; Count = model.Count; Sum = model.Sum; Status = model.Status; @@ -53,12 +53,13 @@ namespace LawFirmListImplement.Models public OrderViewModel GetViewModel => new() { Id = Id, - LawId = LawId, + DocumentId = DocumentId, Count = Count, Sum = Sum, Status = Status, DateCreate = DateCreate, DateImplement = DateImplement, }; + } }