diff --git a/LawFirm/LawFirm/FormCreateOrder.Designer.cs b/LawFirm/LawFirm/FormCreateOrder.Designer.cs
index 3047e38..973c396 100644
--- a/LawFirm/LawFirm/FormCreateOrder.Designer.cs
+++ b/LawFirm/LawFirm/FormCreateOrder.Designer.cs
@@ -1,143 +1,166 @@
 namespace LawFirmView
 {
-    partial class FormCreateOrder
-    {
-        /// <summary>
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
+	partial class FormCreateOrder
+	{
+		/// <summary>
+		/// Required designer variable.
+		/// </summary>
+		private System.ComponentModel.IContainer components = null;
 
-        /// <summary>
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
+		/// <summary>
+		/// Clean up any resources being used.
+		/// </summary>
+		/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+		protected override void Dispose(bool disposing)
+		{
+			if (disposing && (components != null))
+			{
+				components.Dispose();
+			}
+			base.Dispose(disposing);
+		}
 
-        #region Windows Form Designer generated code
+		#region Windows Form Designer generated code
 
-        /// <summary>
-        /// Required method for Designer support - do not modify
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            labelDocument = new Label();
-            labelCount = new Label();
-            labelSum = new Label();
-            comboBoxDocument = new ComboBox();
-            textBoxCount = new TextBox();
-            textBoxSum = new TextBox();
-            buttonSave = new Button();
-            buttonCancel = new Button();
-            SuspendLayout();
-            // 
-            // labelDocument
-            // 
-            labelDocument.AutoSize = true;
-            labelDocument.Location = new Point(23, 30);
-            labelDocument.Name = "labelDocument";
-            labelDocument.Size = new Size(79, 20);
-            labelDocument.TabIndex = 0;
-            labelDocument.Text = "Документ:";
-            // 
-            // labelCount
-            // 
-            labelCount.AutoSize = true;
-            labelCount.Location = new Point(23, 70);
-            labelCount.Name = "labelCount";
-            labelCount.Size = new Size(84, 20);
-            labelCount.TabIndex = 1;
-            labelCount.Text = "Кличество:";
-            // 
-            // labelSum
-            // 
-            labelSum.AutoSize = true;
-            labelSum.Location = new Point(23, 112);
-            labelSum.Name = "labelSum";
-            labelSum.Size = new Size(58, 20);
-            labelSum.TabIndex = 2;
-            labelSum.Text = "Сумма:";
-            // 
-            // comboBoxDocument
-            // 
-            comboBoxDocument.FormattingEnabled = true;
-            comboBoxDocument.Location = new Point(122, 27);
-            comboBoxDocument.Name = "comboBoxDocument";
-            comboBoxDocument.Size = new Size(301, 28);
-            comboBoxDocument.TabIndex = 3;
-            comboBoxDocument.SelectedIndexChanged += comboBoxDocument_SelectedIndexChanged;
-            // 
-            // textBoxCount
-            // 
-            textBoxCount.Location = new Point(122, 67);
-            textBoxCount.Name = "textBoxCount";
-            textBoxCount.Size = new Size(301, 27);
-            textBoxCount.TabIndex = 4;
-            textBoxCount.TextChanged += textBoxCount_TextChanged;
-            // 
-            // textBoxSum
-            // 
-            textBoxSum.Location = new Point(122, 105);
-            textBoxSum.Name = "textBoxSum";
-            textBoxSum.Size = new Size(301, 27);
-            textBoxSum.TabIndex = 5;
-            // 
-            // buttonSave
-            // 
-            buttonSave.Location = new Point(202, 166);
-            buttonSave.Name = "buttonSave";
-            buttonSave.Size = new Size(94, 29);
-            buttonSave.TabIndex = 6;
-            buttonSave.Text = "Сохранить";
-            buttonSave.UseVisualStyleBackColor = true;
-            buttonSave.Click += buttonSave_Click;
-            // 
-            // buttonCancel
-            // 
-            buttonCancel.Location = new Point(329, 166);
-            buttonCancel.Name = "buttonCancel";
-            buttonCancel.Size = new Size(94, 29);
-            buttonCancel.TabIndex = 7;
-            buttonCancel.Text = "Отмена";
-            buttonCancel.UseVisualStyleBackColor = true;
-            buttonCancel.Click += buttonCancel_Click;
-            // 
-            // FormCreateOrder
-            // 
-            AutoScaleDimensions = new SizeF(8F, 20F);
-            AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(435, 224);
-            Controls.Add(buttonCancel);
-            Controls.Add(buttonSave);
-            Controls.Add(textBoxSum);
-            Controls.Add(textBoxCount);
-            Controls.Add(comboBoxDocument);
-            Controls.Add(labelSum);
-            Controls.Add(labelCount);
-            Controls.Add(labelDocument);
-            Name = "FormCreateOrder";
-            Text = "Заказ";
-            Load += FormCreateOrder_Load;
-            ResumeLayout(false);
-            PerformLayout();
-        }
+		/// <summary>
+		/// Required method for Designer support - do not modify
+		/// the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			labelDocument = new Label();
+			labelCount = new Label();
+			labelSum = new Label();
+			comboBoxDocument = new ComboBox();
+			textBoxCount = new TextBox();
+			textBoxSum = new TextBox();
+			buttonSave = new Button();
+			buttonCancel = new Button();
+			labelClient = new Label();
+			comboBoxClient = new ComboBox();
+			SuspendLayout();
+			// 
+			// labelDocument
+			// 
+			labelDocument.AutoSize = true;
+			labelDocument.Location = new Point(23, 30);
+			labelDocument.Name = "labelDocument";
+			labelDocument.Size = new Size(79, 20);
+			labelDocument.TabIndex = 0;
+			labelDocument.Text = "Документ:";
+			// 
+			// labelCount
+			// 
+			labelCount.AutoSize = true;
+			labelCount.Location = new Point(23, 70);
+			labelCount.Name = "labelCount";
+			labelCount.Size = new Size(84, 20);
+			labelCount.TabIndex = 1;
+			labelCount.Text = "Кличество:";
+			// 
+			// labelSum
+			// 
+			labelSum.AutoSize = true;
+			labelSum.Location = new Point(23, 112);
+			labelSum.Name = "labelSum";
+			labelSum.Size = new Size(58, 20);
+			labelSum.TabIndex = 2;
+			labelSum.Text = "Сумма:";
+			// 
+			// comboBoxDocument
+			// 
+			comboBoxDocument.FormattingEnabled = true;
+			comboBoxDocument.Location = new Point(122, 27);
+			comboBoxDocument.Name = "comboBoxDocument";
+			comboBoxDocument.Size = new Size(301, 28);
+			comboBoxDocument.TabIndex = 3;
+			comboBoxDocument.SelectedIndexChanged += comboBoxDocument_SelectedIndexChanged;
+			// 
+			// textBoxCount
+			// 
+			textBoxCount.Location = new Point(122, 67);
+			textBoxCount.Name = "textBoxCount";
+			textBoxCount.Size = new Size(301, 27);
+			textBoxCount.TabIndex = 4;
+			textBoxCount.TextChanged += textBoxCount_TextChanged;
+			// 
+			// textBoxSum
+			// 
+			textBoxSum.Location = new Point(122, 105);
+			textBoxSum.Name = "textBoxSum";
+			textBoxSum.Size = new Size(301, 27);
+			textBoxSum.TabIndex = 5;
+			// 
+			// buttonSave
+			// 
+			buttonSave.Location = new Point(183, 183);
+			buttonSave.Name = "buttonSave";
+			buttonSave.Size = new Size(94, 29);
+			buttonSave.TabIndex = 6;
+			buttonSave.Text = "Сохранить";
+			buttonSave.UseVisualStyleBackColor = true;
+			buttonSave.Click += buttonSave_Click;
+			// 
+			// buttonCancel
+			// 
+			buttonCancel.Location = new Point(329, 183);
+			buttonCancel.Name = "buttonCancel";
+			buttonCancel.Size = new Size(94, 29);
+			buttonCancel.TabIndex = 7;
+			buttonCancel.Text = "Отмена";
+			buttonCancel.UseVisualStyleBackColor = true;
+			buttonCancel.Click += buttonCancel_Click;
+			// 
+			// labelClient
+			// 
+			labelClient.AutoSize = true;
+			labelClient.Location = new Point(23, 149);
+			labelClient.Name = "labelClient";
+			labelClient.Size = new Size(61, 20);
+			labelClient.TabIndex = 8;
+			labelClient.Text = "Клиент:";
+			// 
+			// comboBoxClient
+			// 
+			comboBoxClient.FormattingEnabled = true;
+			comboBoxClient.Location = new Point(122, 149);
+			comboBoxClient.Name = "comboBoxClient";
+			comboBoxClient.Size = new Size(301, 28);
+			comboBoxClient.TabIndex = 9;
+			// 
+			// FormCreateOrder
+			// 
+			AutoScaleDimensions = new SizeF(8F, 20F);
+			AutoScaleMode = AutoScaleMode.Font;
+			ClientSize = new Size(435, 224);
+			Controls.Add(comboBoxClient);
+			Controls.Add(labelClient);
+			Controls.Add(buttonCancel);
+			Controls.Add(buttonSave);
+			Controls.Add(textBoxSum);
+			Controls.Add(textBoxCount);
+			Controls.Add(comboBoxDocument);
+			Controls.Add(labelSum);
+			Controls.Add(labelCount);
+			Controls.Add(labelDocument);
+			Name = "FormCreateOrder";
+			Text = "Заказ";
+			Load += FormCreateOrder_Load;
+			ResumeLayout(false);
+			PerformLayout();
+		}
 
-        #endregion
+		#endregion
 
-        private Label labelDocument;
-        private Label labelCount;
-        private Label labelSum;
-        private ComboBox comboBoxDocument;
-        private TextBox textBoxCount;
-        private TextBox textBoxSum;
-        private Button buttonSave;
-        private Button buttonCancel;
-    }
+		private Label labelDocument;
+		private Label labelCount;
+		private Label labelSum;
+		private ComboBox comboBoxDocument;
+		private TextBox textBoxCount;
+		private TextBox textBoxSum;
+		private Button buttonSave;
+		private Button buttonCancel;
+		private Label labelClient;
+		private ComboBox comboBoxClient;
+	}
 }
\ No newline at end of file
diff --git a/LawFirm/LawFirm/FormCreateOrder.cs b/LawFirm/LawFirm/FormCreateOrder.cs
index 3102e03..18b0710 100644
--- a/LawFirm/LawFirm/FormCreateOrder.cs
+++ b/LawFirm/LawFirm/FormCreateOrder.cs
@@ -1,117 +1,133 @@
-using LawFirmContracts.BindingModels;
+using LawFirmBusinessLogic.BusinessLogics;
+using LawFirmContracts.BindingModels;
+using LawFirmContracts.ViewModels;
 using LawFirmContracts.BusinessLogicsContracts;
 using LawFirmContracts.SearchModels;
 using Microsoft.Extensions.Logging;
 
 namespace LawFirmView
 {
-    public partial class FormCreateOrder : Form
-    {
-        private readonly ILogger _logger;
-        private readonly IDocumentLogic _logicD;
-        private readonly IOrderLogic _logicO;
-        public FormCreateOrder(ILogger<FormCreateOrder> logger, IDocumentLogic logicD, IOrderLogic logicO)
-        {
-            InitializeComponent();
-            _logger = logger;
-            _logicD = logicD;
-            _logicO = logicO;
-        }
-        private void FormCreateOrder_Load(object sender, EventArgs e)
-        {
-            _logger.LogInformation("Загрузка документов для заказа");
-            try
-            {
-                var list = _logicD.ReadList(null);
-                if (list != null)
-                {
-                    comboBoxDocument.DisplayMember = "DocumentName";
-                    comboBoxDocument.ValueMember = "Id";
-                    comboBoxDocument.DataSource = list;
-                    comboBoxDocument.SelectedItem = null;
-                }
-            }
-            catch (Exception ex)
-            {
-                _logger.LogError(ex, "Ошибка загрузки документов");
-                MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
-            }
-        }
-        private void CalcSum()
-        {
-            if (comboBoxDocument.SelectedValue != null &&
-           !string.IsNullOrEmpty(textBoxCount.Text))
-            {
-                try
-                {
-                    int id = Convert.ToInt32(comboBoxDocument.SelectedValue);
-                    var document = _logicD.ReadElement(new DocumentSearchModel
-                    {
-                        Id = id
-                    });
-                    int count = Convert.ToInt32(textBoxCount.Text);
-                    textBoxSum.Text = Math.Round(count * (document?.Price ?? 0), 2).ToString();
-                    _logger.LogInformation("Расчет суммы заказа");
-                }
-                catch (Exception ex)
-                {
-                    _logger.LogError(ex, "Ошибка расчета суммы заказа");
-                    MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
-                    MessageBoxIcon.Error);
-                }
-            }
-        }
-        private void textBoxCount_TextChanged(object sender, EventArgs e)
-        {
-            CalcSum();
-        }
-        private void comboBoxDocument_SelectedIndexChanged(object sender, EventArgs e)
-        {
-            CalcSum();
-        }
-        private void buttonSave_Click(object sender, EventArgs e)
-        {
-            if (string.IsNullOrEmpty(textBoxCount.Text))
-            {
-                MessageBox.Show("Заполните поле Количество", "Ошибка",
-                MessageBoxButtons.OK, MessageBoxIcon.Error);
-                return;
-            }
-            if (comboBoxDocument.SelectedValue == null)
-            {
-                MessageBox.Show("Выберите документ", "Ошибка",
-                MessageBoxButtons.OK, MessageBoxIcon.Error);
-                return;
-            }
-            _logger.LogInformation("Создание заказа");
-            try
-            {
-                var operationResult = _logicO.CreateOrder(new OrderBindingModel
-                {
-                    DocumentId = Convert.ToInt32(comboBoxDocument.SelectedValue),
-                    Count = Convert.ToInt32(textBoxCount.Text),
-                    Sum = Convert.ToDouble(textBoxSum.Text)
-                });
-                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();
-        }
-    }
+	public partial class FormCreateOrder : Form
+	{
+		private readonly ILogger _logger;
+		private readonly IDocumentLogic _logicD;
+		private readonly IOrderLogic _logicO;
+		private readonly IClientLogic _clientLogic;
+		private readonly List<DocumentViewModel>? _list;
+		public FormCreateOrder(ILogger<FormCreateOrder> logger,
+			IDocumentLogic logicD,
+			IOrderLogic logicO,
+			IClientLogic clientLogic)
+		{
+			InitializeComponent();
+			_logger = logger;
+			_logicD = logicD;
+			_logicO = logicO;
+			_clientLogic = clientLogic;
+			_list = logicD.ReadList(null);
+		}
+		private void FormCreateOrder_Load(object sender, EventArgs e)
+		{
+			_logger.LogInformation("Загрузка документов для заказа");
+			try
+			{
+				var list = _logicD.ReadList(null);
+				if (list != null)
+				{
+					comboBoxDocument.DisplayMember = "DocumentName";
+					comboBoxDocument.ValueMember = "Id";
+					comboBoxDocument.DataSource = list;
+					comboBoxDocument.SelectedItem = null;
+				}
+			}
+			catch (Exception ex)
+			{
+				_logger.LogError(ex, "Ошибка загрузки документов");
+				MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+			}
+		}
+		private void CalcSum()
+		{
+			if (comboBoxDocument.SelectedValue != null &&
+		   !string.IsNullOrEmpty(textBoxCount.Text))
+			{
+				try
+				{
+					int id = Convert.ToInt32(comboBoxDocument.SelectedValue);
+					var document = _logicD.ReadElement(new DocumentSearchModel
+					{
+						Id = id
+					});
+					int count = Convert.ToInt32(textBoxCount.Text);
+					textBoxSum.Text = Math.Round(count * (document?.Price ?? 0), 2).ToString();
+					_logger.LogInformation("Расчет суммы заказа");
+				}
+				catch (Exception ex)
+				{
+					_logger.LogError(ex, "Ошибка расчета суммы заказа");
+					MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
+					MessageBoxIcon.Error);
+				}
+			}
+		}
+		private void textBoxCount_TextChanged(object sender, EventArgs e)
+		{
+			CalcSum();
+		}
+		private void comboBoxDocument_SelectedIndexChanged(object sender, EventArgs e)
+		{
+			CalcSum();
+		}
+		private void buttonSave_Click(object sender, EventArgs e)
+		{
+			if (string.IsNullOrEmpty(textBoxCount.Text))
+			{
+				MessageBox.Show("Заполните поле Количество", "Ошибка",
+				MessageBoxButtons.OK, MessageBoxIcon.Error);
+				return;
+			}
+			if (comboBoxDocument.SelectedValue == null)
+			{
+				MessageBox.Show("Выберите документ", "Ошибка",
+				MessageBoxButtons.OK, MessageBoxIcon.Error);
+				return;
+			}
+			if (comboBoxClient.SelectedValue == null)
+			{
+				MessageBox.Show("Выберите клиента", "Ошибка",
+				MessageBoxButtons.OK, MessageBoxIcon.Error);
+				return;
+			}
+			_logger.LogInformation("Создание заказа");
+			try
+			{
+				var operationResult = _logicO.CreateOrder(new OrderBindingModel
+				{
+					ClientId = Convert.ToInt32(comboBoxClient.SelectedValue),
+					DocumentId = Convert.ToInt32(comboBoxDocument.SelectedValue),
+					Count = Convert.ToInt32(textBoxCount.Text),
+					Sum = Convert.ToDouble(textBoxSum.Text)
+				});
+				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();
+		}
+	}
 }
diff --git a/LawFirm/LawFirm/FormMain.Designer.cs b/LawFirm/LawFirm/FormMain.Designer.cs
index 1ae57eb..7649656 100644
--- a/LawFirm/LawFirm/FormMain.Designer.cs
+++ b/LawFirm/LawFirm/FormMain.Designer.cs
@@ -1,213 +1,222 @@
 namespace LawFirmView
 {
-    partial class FormMain
-    {
-        /// <summary>
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
+	partial class FormMain
+	{
+		/// <summary>
+		/// Required designer variable.
+		/// </summary>
+		private System.ComponentModel.IContainer components = null;
 
-        /// <summary>
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
+		/// <summary>
+		/// Clean up any resources being used.
+		/// </summary>
+		/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+		protected override void Dispose(bool disposing)
+		{
+			if (disposing && (components != null))
+			{
+				components.Dispose();
+			}
+			base.Dispose(disposing);
+		}
 
-        #region Windows Form Designer generated code
+		#region Windows Form Designer generated code
 
-        /// <summary>
-        /// Required method for Designer support - do not modify
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            menuStrip = new MenuStrip();
-            toolStripMenuItem = new ToolStripMenuItem();
-            BlanksToolStripMenuItem = new ToolStripMenuItem();
-            DocumentsToolStripMenuItem = new ToolStripMenuItem();
-            ReportsToolStripMenuItem = new ToolStripMenuItem();
-            ListOfDocumentsToolStripMenuItem = new ToolStripMenuItem();
-            FormsForDocumentsToolStripMenuItem = new ToolStripMenuItem();
-            OrderListToolStripMenuItem = new ToolStripMenuItem();
-            dataGridView = new DataGridView();
-            buttonCreateOrder = new Button();
-            buttonTakeOrderInWork = new Button();
-            buttonOrderReady = new Button();
-            buttonIssuedOrder = new Button();
-            buttonUpdate = new Button();
-            menuStrip.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
-            SuspendLayout();
-            // 
-            // menuStrip
-            // 
-            menuStrip.ImageScalingSize = new Size(20, 20);
-            menuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItem, ReportsToolStripMenuItem });
-            menuStrip.Location = new Point(0, 0);
-            menuStrip.Name = "menuStrip";
-            menuStrip.Size = new Size(929, 28);
-            menuStrip.TabIndex = 0;
-            menuStrip.Text = "Справочники";
-            // 
-            // toolStripMenuItem
-            // 
-            toolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { BlanksToolStripMenuItem, DocumentsToolStripMenuItem });
-            toolStripMenuItem.Name = "toolStripMenuItem";
-            toolStripMenuItem.Size = new Size(117, 24);
-            toolStripMenuItem.Text = "Справочники";
-            // 
-            // BlanksToolStripMenuItem
-            // 
-            BlanksToolStripMenuItem.Name = "BlanksToolStripMenuItem";
-            BlanksToolStripMenuItem.Size = new Size(170, 26);
-            BlanksToolStripMenuItem.Text = "Бланки";
-            BlanksToolStripMenuItem.Click += BlanksToolStripMenuItem_Click;
-            // 
-            // DocumentsToolStripMenuItem
-            // 
-            DocumentsToolStripMenuItem.Name = "DocumentsToolStripMenuItem";
-            DocumentsToolStripMenuItem.Size = new Size(170, 26);
-            DocumentsToolStripMenuItem.Text = "Документы";
-            DocumentsToolStripMenuItem.Click += DocumentsToolStripMenuItem_Click;
-            // 
-            // ReportsToolStripMenuItem
-            // 
-            ReportsToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ListOfDocumentsToolStripMenuItem, FormsForDocumentsToolStripMenuItem, OrderListToolStripMenuItem });
-            ReportsToolStripMenuItem.Name = "ReportsToolStripMenuItem";
-            ReportsToolStripMenuItem.Size = new Size(73, 24);
-            ReportsToolStripMenuItem.Text = "Отчеты";
-            // 
-            // ListOfDocumentsToolStripMenuItem
-            // 
-            ListOfDocumentsToolStripMenuItem.Name = "ListOfDocumentsToolStripMenuItem";
-            ListOfDocumentsToolStripMenuItem.Size = new Size(252, 26);
-            ListOfDocumentsToolStripMenuItem.Text = "Список документов";
-            ListOfDocumentsToolStripMenuItem.Click += ListOfDocumentsToolStripMenuItem_Click;
-            // 
-            // FormsForDocumentsToolStripMenuItem
-            // 
-            FormsForDocumentsToolStripMenuItem.Name = "FormsForDocumentsToolStripMenuItem";
-            FormsForDocumentsToolStripMenuItem.Size = new Size(252, 26);
-            FormsForDocumentsToolStripMenuItem.Text = "Бланки по документам";
-            FormsForDocumentsToolStripMenuItem.Click += FormsForDocumentsToolStripMenuItem_Click;
-            // 
-            // OrderListToolStripMenuItem
-            // 
-            OrderListToolStripMenuItem.Name = "OrderListToolStripMenuItem";
-            OrderListToolStripMenuItem.Size = new Size(252, 26);
-            OrderListToolStripMenuItem.Text = "Список заказов";
-            OrderListToolStripMenuItem.Click += OrderListToolStripMenuItem_Click;
-            // 
-            // dataGridView
-            // 
-            dataGridView.AllowUserToAddRows = false;
-            dataGridView.AllowUserToDeleteRows = false;
-            dataGridView.BackgroundColor = Color.White;
-            dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-            dataGridView.Location = new Point(12, 31);
-            dataGridView.Margin = new Padding(3, 4, 3, 4);
-            dataGridView.Name = "dataGridView";
-            dataGridView.ReadOnly = true;
-            dataGridView.RowHeadersWidth = 51;
-            dataGridView.RowTemplate.Height = 29;
-            dataGridView.Size = new Size(714, 606);
-            dataGridView.TabIndex = 1;
-            // 
-            // buttonCreateOrder
-            // 
-            buttonCreateOrder.Location = new Point(732, 42);
-            buttonCreateOrder.Name = "buttonCreateOrder";
-            buttonCreateOrder.Size = new Size(185, 29);
-            buttonCreateOrder.TabIndex = 2;
-            buttonCreateOrder.Text = "Создать заказ";
-            buttonCreateOrder.UseVisualStyleBackColor = true;
-            buttonCreateOrder.Click += buttonCreateOrder_Click;
-            // 
-            // buttonTakeOrderInWork
-            // 
-            buttonTakeOrderInWork.Location = new Point(732, 86);
-            buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
-            buttonTakeOrderInWork.Size = new Size(185, 29);
-            buttonTakeOrderInWork.TabIndex = 3;
-            buttonTakeOrderInWork.Text = "Отдать на выполнение";
-            buttonTakeOrderInWork.UseVisualStyleBackColor = true;
-            buttonTakeOrderInWork.Click += buttonTakeOrderInWork_Click;
-            // 
-            // buttonOrderReady
-            // 
-            buttonOrderReady.Location = new Point(732, 132);
-            buttonOrderReady.Name = "buttonOrderReady";
-            buttonOrderReady.Size = new Size(185, 29);
-            buttonOrderReady.TabIndex = 4;
-            buttonOrderReady.Text = "Заказ готов";
-            buttonOrderReady.UseVisualStyleBackColor = true;
-            buttonOrderReady.Click += buttonOrderReady_Click;
-            // 
-            // buttonIssuedOrder
-            // 
-            buttonIssuedOrder.Location = new Point(732, 177);
-            buttonIssuedOrder.Name = "buttonIssuedOrder";
-            buttonIssuedOrder.Size = new Size(185, 29);
-            buttonIssuedOrder.TabIndex = 5;
-            buttonIssuedOrder.Text = "Заказ выдан";
-            buttonIssuedOrder.UseVisualStyleBackColor = true;
-            buttonIssuedOrder.Click += buttonIssuedOrder_Click;
-            // 
-            // buttonUpdate
-            // 
-            buttonUpdate.Location = new Point(732, 221);
-            buttonUpdate.Name = "buttonUpdate";
-            buttonUpdate.Size = new Size(185, 29);
-            buttonUpdate.TabIndex = 6;
-            buttonUpdate.Text = "Обновить список";
-            buttonUpdate.UseVisualStyleBackColor = true;
-            buttonUpdate.Click += buttonUpdate_Click;
-            // 
-            // FormMain
-            // 
-            AutoScaleDimensions = new SizeF(8F, 20F);
-            AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(929, 649);
-            Controls.Add(buttonUpdate);
-            Controls.Add(buttonIssuedOrder);
-            Controls.Add(buttonOrderReady);
-            Controls.Add(buttonTakeOrderInWork);
-            Controls.Add(buttonCreateOrder);
-            Controls.Add(dataGridView);
-            Controls.Add(menuStrip);
-            MainMenuStrip = menuStrip;
-            Name = "FormMain";
-            Text = "Юридическая фирма";
-            Load += FormMain_Load;
-            menuStrip.ResumeLayout(false);
-            menuStrip.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
-            ResumeLayout(false);
-            PerformLayout();
-        }
+		/// <summary>
+		/// Required method for Designer support - do not modify
+		/// the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			menuStrip = new MenuStrip();
+			toolStripMenuItem = new ToolStripMenuItem();
+			BlanksToolStripMenuItem = new ToolStripMenuItem();
+			DocumentsToolStripMenuItem = new ToolStripMenuItem();
+			ReportsToolStripMenuItem = new ToolStripMenuItem();
+			ListOfDocumentsToolStripMenuItem = new ToolStripMenuItem();
+			FormsForDocumentsToolStripMenuItem = new ToolStripMenuItem();
+			OrderListToolStripMenuItem = new ToolStripMenuItem();
+			dataGridView = new DataGridView();
+			buttonCreateOrder = new Button();
+			buttonTakeOrderInWork = new Button();
+			buttonOrderReady = new Button();
+			buttonIssuedOrder = new Button();
+			buttonUpdate = new Button();
+			ClientsToolStripMenuItem = new ToolStripMenuItem();
+			menuStrip.SuspendLayout();
+			((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
+			SuspendLayout();
+			// 
+			// menuStrip
+			// 
+			menuStrip.ImageScalingSize = new Size(20, 20);
+			menuStrip.Items.AddRange(new ToolStripItem[] { toolStripMenuItem, ReportsToolStripMenuItem });
+			menuStrip.Location = new Point(0, 0);
+			menuStrip.Name = "menuStrip";
+			menuStrip.Size = new Size(929, 28);
+			menuStrip.TabIndex = 0;
+			menuStrip.Text = "Справочники";
+			// 
+			// toolStripMenuItem
+			// 
+			toolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { BlanksToolStripMenuItem, DocumentsToolStripMenuItem, ClientsToolStripMenuItem });
+			toolStripMenuItem.Name = "toolStripMenuItem";
+			toolStripMenuItem.Size = new Size(117, 24);
+			toolStripMenuItem.Text = "Справочники";
+			// 
+			// BlanksToolStripMenuItem
+			// 
+			BlanksToolStripMenuItem.Name = "BlanksToolStripMenuItem";
+			BlanksToolStripMenuItem.Size = new Size(224, 26);
+			BlanksToolStripMenuItem.Text = "Бланки";
+			BlanksToolStripMenuItem.Click += BlanksToolStripMenuItem_Click;
+			// 
+			// DocumentsToolStripMenuItem
+			// 
+			DocumentsToolStripMenuItem.Name = "DocumentsToolStripMenuItem";
+			DocumentsToolStripMenuItem.Size = new Size(224, 26);
+			DocumentsToolStripMenuItem.Text = "Документы";
+			DocumentsToolStripMenuItem.Click += DocumentsToolStripMenuItem_Click;
+			// 
+			// ReportsToolStripMenuItem
+			// 
+			ReportsToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ListOfDocumentsToolStripMenuItem, FormsForDocumentsToolStripMenuItem, OrderListToolStripMenuItem });
+			ReportsToolStripMenuItem.Name = "ReportsToolStripMenuItem";
+			ReportsToolStripMenuItem.Size = new Size(73, 24);
+			ReportsToolStripMenuItem.Text = "Отчеты";
+			// 
+			// ListOfDocumentsToolStripMenuItem
+			// 
+			ListOfDocumentsToolStripMenuItem.Name = "ListOfDocumentsToolStripMenuItem";
+			ListOfDocumentsToolStripMenuItem.Size = new Size(252, 26);
+			ListOfDocumentsToolStripMenuItem.Text = "Список документов";
+			ListOfDocumentsToolStripMenuItem.Click += ListOfDocumentsToolStripMenuItem_Click;
+			// 
+			// FormsForDocumentsToolStripMenuItem
+			// 
+			FormsForDocumentsToolStripMenuItem.Name = "FormsForDocumentsToolStripMenuItem";
+			FormsForDocumentsToolStripMenuItem.Size = new Size(252, 26);
+			FormsForDocumentsToolStripMenuItem.Text = "Бланки по документам";
+			FormsForDocumentsToolStripMenuItem.Click += FormsForDocumentsToolStripMenuItem_Click;
+			// 
+			// OrderListToolStripMenuItem
+			// 
+			OrderListToolStripMenuItem.Name = "OrderListToolStripMenuItem";
+			OrderListToolStripMenuItem.Size = new Size(252, 26);
+			OrderListToolStripMenuItem.Text = "Список заказов";
+			OrderListToolStripMenuItem.Click += OrderListToolStripMenuItem_Click;
+			// 
+			// dataGridView
+			// 
+			dataGridView.AllowUserToAddRows = false;
+			dataGridView.AllowUserToDeleteRows = false;
+			dataGridView.BackgroundColor = Color.White;
+			dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+			dataGridView.Location = new Point(12, 31);
+			dataGridView.Margin = new Padding(3, 4, 3, 4);
+			dataGridView.Name = "dataGridView";
+			dataGridView.ReadOnly = true;
+			dataGridView.RowHeadersWidth = 51;
+			dataGridView.RowTemplate.Height = 29;
+			dataGridView.Size = new Size(714, 606);
+			dataGridView.TabIndex = 1;
+			// 
+			// buttonCreateOrder
+			// 
+			buttonCreateOrder.Location = new Point(732, 42);
+			buttonCreateOrder.Name = "buttonCreateOrder";
+			buttonCreateOrder.Size = new Size(185, 29);
+			buttonCreateOrder.TabIndex = 2;
+			buttonCreateOrder.Text = "Создать заказ";
+			buttonCreateOrder.UseVisualStyleBackColor = true;
+			buttonCreateOrder.Click += buttonCreateOrder_Click;
+			// 
+			// buttonTakeOrderInWork
+			// 
+			buttonTakeOrderInWork.Location = new Point(732, 86);
+			buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
+			buttonTakeOrderInWork.Size = new Size(185, 29);
+			buttonTakeOrderInWork.TabIndex = 3;
+			buttonTakeOrderInWork.Text = "Отдать на выполнение";
+			buttonTakeOrderInWork.UseVisualStyleBackColor = true;
+			buttonTakeOrderInWork.Click += buttonTakeOrderInWork_Click;
+			// 
+			// buttonOrderReady
+			// 
+			buttonOrderReady.Location = new Point(732, 132);
+			buttonOrderReady.Name = "buttonOrderReady";
+			buttonOrderReady.Size = new Size(185, 29);
+			buttonOrderReady.TabIndex = 4;
+			buttonOrderReady.Text = "Заказ готов";
+			buttonOrderReady.UseVisualStyleBackColor = true;
+			buttonOrderReady.Click += buttonOrderReady_Click;
+			// 
+			// buttonIssuedOrder
+			// 
+			buttonIssuedOrder.Location = new Point(732, 177);
+			buttonIssuedOrder.Name = "buttonIssuedOrder";
+			buttonIssuedOrder.Size = new Size(185, 29);
+			buttonIssuedOrder.TabIndex = 5;
+			buttonIssuedOrder.Text = "Заказ выдан";
+			buttonIssuedOrder.UseVisualStyleBackColor = true;
+			buttonIssuedOrder.Click += buttonIssuedOrder_Click;
+			// 
+			// buttonUpdate
+			// 
+			buttonUpdate.Location = new Point(732, 221);
+			buttonUpdate.Name = "buttonUpdate";
+			buttonUpdate.Size = new Size(185, 29);
+			buttonUpdate.TabIndex = 6;
+			buttonUpdate.Text = "Обновить список";
+			buttonUpdate.UseVisualStyleBackColor = true;
+			buttonUpdate.Click += buttonUpdate_Click;
+			// 
+			// ClientsToolStripMenuItem
+			// 
+			ClientsToolStripMenuItem.Name = "ClientsToolStripMenuItem";
+			ClientsToolStripMenuItem.Size = new Size(224, 26);
+			ClientsToolStripMenuItem.Text = "Клиенты";
+			ClientsToolStripMenuItem.Click += ClientsToolStripMenuItem_Click;
+			// 
+			// FormMain
+			// 
+			AutoScaleDimensions = new SizeF(8F, 20F);
+			AutoScaleMode = AutoScaleMode.Font;
+			ClientSize = new Size(929, 649);
+			Controls.Add(buttonUpdate);
+			Controls.Add(buttonIssuedOrder);
+			Controls.Add(buttonOrderReady);
+			Controls.Add(buttonTakeOrderInWork);
+			Controls.Add(buttonCreateOrder);
+			Controls.Add(dataGridView);
+			Controls.Add(menuStrip);
+			MainMenuStrip = menuStrip;
+			Name = "FormMain";
+			Text = "Юридическая фирма";
+			Load += FormMain_Load;
+			menuStrip.ResumeLayout(false);
+			menuStrip.PerformLayout();
+			((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
+			ResumeLayout(false);
+			PerformLayout();
+		}
 
-        #endregion
+		#endregion
 
-        private MenuStrip menuStrip;
-        private ToolStripMenuItem toolStripMenuItem;
-        private ToolStripMenuItem BlanksToolStripMenuItem;
-        private ToolStripMenuItem DocumentsToolStripMenuItem;
-        private DataGridView dataGridView;
-        private Button buttonCreateOrder;
-        private Button buttonTakeOrderInWork;
-        private Button buttonOrderReady;
-        private Button buttonIssuedOrder;
-        private Button buttonUpdate;
-        private ToolStripMenuItem ReportsToolStripMenuItem;
-        private ToolStripMenuItem ListOfDocumentsToolStripMenuItem;
-        private ToolStripMenuItem FormsForDocumentsToolStripMenuItem;
-        private ToolStripMenuItem OrderListToolStripMenuItem;
-    }
+		private MenuStrip menuStrip;
+		private ToolStripMenuItem toolStripMenuItem;
+		private ToolStripMenuItem BlanksToolStripMenuItem;
+		private ToolStripMenuItem DocumentsToolStripMenuItem;
+		private DataGridView dataGridView;
+		private Button buttonCreateOrder;
+		private Button buttonTakeOrderInWork;
+		private Button buttonOrderReady;
+		private Button buttonIssuedOrder;
+		private Button buttonUpdate;
+		private ToolStripMenuItem ReportsToolStripMenuItem;
+		private ToolStripMenuItem ListOfDocumentsToolStripMenuItem;
+		private ToolStripMenuItem FormsForDocumentsToolStripMenuItem;
+		private ToolStripMenuItem OrderListToolStripMenuItem;
+		private ToolStripMenuItem ClientsToolStripMenuItem;
+	}
 }
\ No newline at end of file
diff --git a/LawFirm/LawFirm/FormMain.cs b/LawFirm/LawFirm/FormMain.cs
index 96ab000..5f429c5 100644
--- a/LawFirm/LawFirm/FormMain.cs
+++ b/LawFirm/LawFirm/FormMain.cs
@@ -8,192 +8,201 @@ using LawFirmContracts.BusinessLogicContracts;
 
 namespace LawFirmView
 {
-    public partial class FormMain : Form
-    {
-        private readonly ILogger _logger;
-        private readonly IOrderLogic _orderLogic;
-        private readonly IReportLogic _reportLogic;
-        public FormMain(ILogger<FormMain> logger, IOrderLogic orderLogic, IReportLogic reportLogic)
-        {
-            InitializeComponent();
-            _logger = logger;
-            _orderLogic = orderLogic;
-            _reportLogic = reportLogic;
-        }
-        private void FormMain_Load(object sender, EventArgs e)
-        {
-            LoadData();
-        }
-        private void LoadData()
-        {
-            _logger.LogInformation("Загрузка заказов");
-            try
-            {
-                var list = _orderLogic.ReadList(null);
-                if (list != null)
-                {
-                    dataGridView.DataSource = list;
-                    dataGridView.Columns["DocumentId"].Visible = false;
-                }
-                _logger.LogInformation("Загрузка прошла успешно");
-            }
-            catch (Exception ex)
-            {
-                _logger.LogError(ex, "Ошибка загрузки заказов");
-                MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
-            }
-        }
-        private void buttonCreateOrder_Click(object sender, EventArgs e)
-        {
-            var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
-            if (service is FormCreateOrder form)
-            {
-                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);
-                _logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id);
-                try
-                {
-                    var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel
-                    {
-                        Id = id,
-                        DocumentId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DocumentId"].Value),
-                        Status = Enum.Parse<OrderStatus>(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())
-                    });
-                    if (!operationResult)
-                    {
-                        throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
-                    }
-                    LoadData();
-                }
-                catch (Exception ex)
-                {
-                    _logger.LogError(ex, "Ошибка передачи заказа в работу");
-                    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);
-                try
-                {
-                    var operationResult = _orderLogic.FinishOrder(new OrderBindingModel
-                    {
-                        Id = id,
-                        DocumentId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DocumentId"].Value),
-                        Status = Enum.Parse<OrderStatus>(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())
-                    });
-                    if (!operationResult)
-                    {
-                        throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
-                    }
-                    LoadData();
-                }
-                catch (Exception ex)
-                {
-                    _logger.LogError(ex, "Ошибка отметки о готовности заказа");
-                    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);
-                try
-                {
-                    var operationResult = _orderLogic.DeliveryOrder(new
-                   OrderBindingModel
-                    {
-                        Id = id,
-                        DocumentId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DocumentId"].Value),
-                        Status = Enum.Parse<OrderStatus>(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())
-                    });
-                    if (!operationResult)
-                    {
-                        throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
-                    }
-                    _logger.LogInformation("Заказ №{id} выдан", id);
-                    LoadData();
-                }
-                catch (Exception ex)
-                {
-                    _logger.LogError(ex, "Ошибка отметки о выдачи заказа");
-                    MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
-                    MessageBoxIcon.Error);
-                }
-            }
-        }
-        private void buttonUpdate_Click(object sender, EventArgs e)
-        {
-            LoadData();
-        }
-        private void BlanksToolStripMenuItem_Click(object sender, EventArgs e)
-        {
-            var service = Program.ServiceProvider?.GetService(typeof(FormBlanks));
-            if (service is FormBlanks form)
-            {
-                form.ShowDialog();
-            }
-        }
-        private void DocumentsToolStripMenuItem_Click(object sender, EventArgs e)
-        {
-            var service = Program.ServiceProvider?.GetService(typeof(FormDocuments));
-            if (service is FormDocuments form)
-            {
-                form.ShowDialog();
-            }
-        }
-        private void ListOfDocumentsToolStripMenuItem_Click(object sender, EventArgs e)
-        {
-            using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
-            if (dialog.ShowDialog() == DialogResult.OK)
-            {
-                _reportLogic.SaveDocumentsToWordFile(new ReportBindingModel
-                {
-                    FileName = dialog.FileName
-                });
-                MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
-            }
-        }
-        private void FormsForDocumentsToolStripMenuItem_Click(object sender, EventArgs e)
-        {
-            var service = Program.ServiceProvider?.GetService(typeof(FormReportDocumentBlanks));
-            if (service is FormReportDocumentBlanks form)
-            {
-                form.ShowDialog();
-            }
-        }
-        private void OrderListToolStripMenuItem_Click(object sender, EventArgs e)
-        {
-            var service = Program.ServiceProvider?.GetService(typeof(FormReportOrder));
-            if (service is FormReportOrder form)
-            {
-                form.ShowDialog();
-            }
-        }
-    }
+	public partial class FormMain : Form
+	{
+		private readonly ILogger _logger;
+		private readonly IOrderLogic _orderLogic;
+		private readonly IReportLogic _reportLogic;
+		public FormMain(ILogger<FormMain> logger, IOrderLogic orderLogic, IReportLogic reportLogic)
+		{
+			InitializeComponent();
+			_logger = logger;
+			_orderLogic = orderLogic;
+			_reportLogic = reportLogic;
+		}
+		private void FormMain_Load(object sender, EventArgs e)
+		{
+			LoadData();
+		}
+		private void LoadData()
+		{
+			_logger.LogInformation("Загрузка заказов");
+			try
+			{
+				var list = _orderLogic.ReadList(null);
+				if (list != null)
+				{
+					dataGridView.DataSource = list;
+					dataGridView.Columns["DocumentId"].Visible = false;
+					dataGridView.Columns["ClientId"].Visible = false;
+				}
+				_logger.LogInformation("Загрузка прошла успешно");
+			}
+			catch (Exception ex)
+			{
+				_logger.LogError(ex, "Ошибка загрузки заказов");
+				MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+			}
+		}
+		private void buttonCreateOrder_Click(object sender, EventArgs e)
+		{
+			var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
+			if (service is FormCreateOrder form)
+			{
+				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);
+				_logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id);
+				try
+				{
+					var operationResult = _orderLogic.TakeOrderInWork(new OrderBindingModel
+					{
+						Id = id,
+						DocumentId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DocumentId"].Value),
+						Status = Enum.Parse<OrderStatus>(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())
+					});
+					if (!operationResult)
+					{
+						throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
+					}
+					LoadData();
+				}
+				catch (Exception ex)
+				{
+					_logger.LogError(ex, "Ошибка передачи заказа в работу");
+					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);
+				try
+				{
+					var operationResult = _orderLogic.FinishOrder(new OrderBindingModel
+					{
+						Id = id,
+						DocumentId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DocumentId"].Value),
+						Status = Enum.Parse<OrderStatus>(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())
+					});
+					if (!operationResult)
+					{
+						throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
+					}
+					LoadData();
+				}
+				catch (Exception ex)
+				{
+					_logger.LogError(ex, "Ошибка отметки о готовности заказа");
+					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);
+				try
+				{
+					var operationResult = _orderLogic.DeliveryOrder(new
+				   OrderBindingModel
+					{
+						Id = id,
+						DocumentId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DocumentId"].Value),
+						Status = Enum.Parse<OrderStatus>(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())
+					});
+					if (!operationResult)
+					{
+						throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
+					}
+					_logger.LogInformation("Заказ №{id} выдан", id);
+					LoadData();
+				}
+				catch (Exception ex)
+				{
+					_logger.LogError(ex, "Ошибка отметки о выдачи заказа");
+					MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
+					MessageBoxIcon.Error);
+				}
+			}
+		}
+		private void buttonUpdate_Click(object sender, EventArgs e)
+		{
+			LoadData();
+		}
+		private void BlanksToolStripMenuItem_Click(object sender, EventArgs e)
+		{
+			var service = Program.ServiceProvider?.GetService(typeof(FormBlanks));
+			if (service is FormBlanks form)
+			{
+				form.ShowDialog();
+			}
+		}
+		private void DocumentsToolStripMenuItem_Click(object sender, EventArgs e)
+		{
+			var service = Program.ServiceProvider?.GetService(typeof(FormDocuments));
+			if (service is FormDocuments form)
+			{
+				form.ShowDialog();
+			}
+		}
+		private void ListOfDocumentsToolStripMenuItem_Click(object sender, EventArgs e)
+		{
+			using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
+			if (dialog.ShowDialog() == DialogResult.OK)
+			{
+				_reportLogic.SaveDocumentsToWordFile(new ReportBindingModel
+				{
+					FileName = dialog.FileName
+				});
+				MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
+			}
+		}
+		private void FormsForDocumentsToolStripMenuItem_Click(object sender, EventArgs e)
+		{
+			var service = Program.ServiceProvider?.GetService(typeof(FormReportDocumentBlanks));
+			if (service is FormReportDocumentBlanks form)
+			{
+				form.ShowDialog();
+			}
+		}
+		private void OrderListToolStripMenuItem_Click(object sender, EventArgs e)
+		{
+			var service = Program.ServiceProvider?.GetService(typeof(FormReportOrder));
+			if (service is FormReportOrder form)
+			{
+				form.ShowDialog();
+			}
+		}
+		private void ClientsToolStripMenuItem_Click(object sender, EventArgs e)
+		{
+			var service = Program.ServiceProvider?.GetService(typeof(FormViewClients));
+			if (service is FormViewClients form)
+			{
+				form.ShowDialog();
+			}
+		}
+	}
 }
diff --git a/LawFirm/LawFirm/FormViewClients.Designer.cs b/LawFirm/LawFirm/FormViewClients.Designer.cs
new file mode 100644
index 0000000..5e327d6
--- /dev/null
+++ b/LawFirm/LawFirm/FormViewClients.Designer.cs
@@ -0,0 +1,92 @@
+namespace LawFirmView
+{
+    partial class FormViewClients
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.buttonRef = new System.Windows.Forms.Button();
+            this.buttonDel = new System.Windows.Forms.Button();
+            this.dataGridView = new System.Windows.Forms.DataGridView();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // buttonRef
+            // 
+            this.buttonRef.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonRef.Location = new System.Drawing.Point(579, 51);
+            this.buttonRef.Name = "buttonRef";
+            this.buttonRef.Size = new System.Drawing.Size(90, 37);
+            this.buttonRef.TabIndex = 9;
+            this.buttonRef.Text = "Обновить";
+            this.buttonRef.UseVisualStyleBackColor = true;
+            // 
+            // buttonDel
+            // 
+            this.buttonDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.buttonDel.Location = new System.Drawing.Point(579, 12);
+            this.buttonDel.Name = "buttonDel";
+            this.buttonDel.Size = new System.Drawing.Size(90, 33);
+            this.buttonDel.TabIndex = 8;
+            this.buttonDel.Text = "Удалить";
+            this.buttonDel.UseVisualStyleBackColor = true;
+            // 
+            // dataGridView
+            // 
+            this.dataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.dataGridView.BackgroundColor = System.Drawing.Color.White;
+            this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.dataGridView.GridColor = System.Drawing.Color.White;
+            this.dataGridView.Location = new System.Drawing.Point(12, 12);
+            this.dataGridView.Name = "dataGridView";
+            this.dataGridView.RowTemplate.Height = 25;
+            this.dataGridView.Size = new System.Drawing.Size(561, 302);
+            this.dataGridView.TabIndex = 5;
+            // 
+            // FormViewClients
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(681, 319);
+            this.Controls.Add(this.buttonRef);
+            this.Controls.Add(this.buttonDel);
+            this.Controls.Add(this.dataGridView);
+            this.Name = "FormViewClients";
+            this.Text = "Просмотр и удаление клиентов";
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private Button buttonRef;
+        private Button buttonDel;
+        private DataGridView dataGridView;
+    }
+}
\ No newline at end of file
diff --git a/LawFirm/LawFirm/FormViewClients.cs b/LawFirm/LawFirm/FormViewClients.cs
new file mode 100644
index 0000000..f283b45
--- /dev/null
+++ b/LawFirm/LawFirm/FormViewClients.cs
@@ -0,0 +1,75 @@
+using LawFirmContracts.BindingModels;
+using LawFirmContracts.BusinessLogicsContracts;
+using Microsoft.Extensions.Logging;
+
+namespace LawFirmView
+{
+    public partial class FormViewClients : Form
+    {
+        private readonly ILogger _logger;
+        private readonly IClientLogic _logic;
+        public FormViewClients(ILogger<FormViewClients> logger, IClientLogic logic)
+        {
+            InitializeComponent();
+            _logger = logger;
+            _logic = logic;
+        }
+        private void FormViewClients_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["ClientFIO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
+                }
+                _logger.LogInformation("Загрузка клиентов");
+            }
+            catch (Exception ex)
+            {
+                _logger.LogError(ex, "Ошибка загрузки клиентов");
+                MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
+                MessageBoxIcon.Error);
+            }
+        }
+        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 ClientBindingModel
+                        {
+                            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/FormViewClients.resx b/LawFirm/LawFirm/FormViewClients.resx
new file mode 100644
index 0000000..f298a7b
--- /dev/null
+++ b/LawFirm/LawFirm/FormViewClients.resx
@@ -0,0 +1,60 @@
+<root>
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/LawFirm/LawFirmDatabaseImplement/LawFirmDatabase.cs b/LawFirm/LawFirmDatabaseImplement/LawFirmDatabase.cs
index c3acee8..6ed8bc9 100644
--- a/LawFirm/LawFirmDatabaseImplement/LawFirmDatabase.cs
+++ b/LawFirm/LawFirmDatabaseImplement/LawFirmDatabase.cs
@@ -9,7 +9,7 @@ namespace LawFirmDatabaseImplement
         {
             if (optionsBuilder.IsConfigured == false)
             {
-                optionsBuilder.UseSqlServer(@"Data Source=localhost\SQLEXPRESS; Initial Catalog=LawFirmDatabaseFull;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
+                optionsBuilder.UseSqlServer(@"Data Source=localhost\SQLEXPRESS; Initial Catalog=LawFirmDatabase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
             }
             base.OnConfiguring(optionsBuilder);
         }
diff --git a/LawFirm/LawFirmDatabaseImplement/Migrations/20240422203642_InitialCreate.Designer.cs b/LawFirm/LawFirmDatabaseImplement/Migrations/20240517194322_InitialCreate.Designer.cs
similarity index 78%
rename from LawFirm/LawFirmDatabaseImplement/Migrations/20240422203642_InitialCreate.Designer.cs
rename to LawFirm/LawFirmDatabaseImplement/Migrations/20240517194322_InitialCreate.Designer.cs
index ff55403..dc05c0a 100644
--- a/LawFirm/LawFirmDatabaseImplement/Migrations/20240422203642_InitialCreate.Designer.cs
+++ b/LawFirm/LawFirmDatabaseImplement/Migrations/20240517194322_InitialCreate.Designer.cs
@@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 namespace LawFirmDatabaseImplement.Migrations
 {
     [DbContext(typeof(LawFirmDatabase))]
-    [Migration("20240422203642_InitialCreate")]
+    [Migration("20240517194322_InitialCreate")]
     partial class InitialCreate
     {
         /// <inheritdoc />
@@ -45,6 +45,31 @@ namespace LawFirmDatabaseImplement.Migrations
                     b.ToTable("Blanks");
                 });
 
+            modelBuilder.Entity("LawFirmDatabaseImplement.Models.Client", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("ClientFIO")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Email")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Password")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Clients");
+                });
+
             modelBuilder.Entity("LawFirmDatabaseImplement.Models.Document", b =>
                 {
                     b.Property<int>("Id")
@@ -99,6 +124,9 @@ namespace LawFirmDatabaseImplement.Migrations
 
                     SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 
+                    b.Property<int>("ClientId")
+                        .HasColumnType("int");
+
                     b.Property<int>("Count")
                         .HasColumnType("int");
 
@@ -119,6 +147,8 @@ namespace LawFirmDatabaseImplement.Migrations
 
                     b.HasKey("Id");
 
+                    b.HasIndex("ClientId");
+
                     b.HasIndex("DocumentId");
 
                     b.ToTable("Orders");
@@ -145,12 +175,20 @@ namespace LawFirmDatabaseImplement.Migrations
 
             modelBuilder.Entity("LawFirmDatabaseImplement.Models.Order", b =>
                 {
+                    b.HasOne("LawFirmDatabaseImplement.Models.Client", "Client")
+                        .WithMany("Orders")
+                        .HasForeignKey("ClientId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
                     b.HasOne("LawFirmDatabaseImplement.Models.Document", "Document")
                         .WithMany("Orders")
                         .HasForeignKey("DocumentId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
+                    b.Navigation("Client");
+
                     b.Navigation("Document");
                 });
 
@@ -159,6 +197,11 @@ namespace LawFirmDatabaseImplement.Migrations
                     b.Navigation("DocumentBlanks");
                 });
 
+            modelBuilder.Entity("LawFirmDatabaseImplement.Models.Client", b =>
+                {
+                    b.Navigation("Orders");
+                });
+
             modelBuilder.Entity("LawFirmDatabaseImplement.Models.Document", b =>
                 {
                     b.Navigation("Blanks");
diff --git a/LawFirm/LawFirmDatabaseImplement/Migrations/20240422203642_InitialCreate.cs b/LawFirm/LawFirmDatabaseImplement/Migrations/20240517194322_InitialCreate.cs
similarity index 79%
rename from LawFirm/LawFirmDatabaseImplement/Migrations/20240422203642_InitialCreate.cs
rename to LawFirm/LawFirmDatabaseImplement/Migrations/20240517194322_InitialCreate.cs
index ffafba7..e844e84 100644
--- a/LawFirm/LawFirmDatabaseImplement/Migrations/20240422203642_InitialCreate.cs
+++ b/LawFirm/LawFirmDatabaseImplement/Migrations/20240517194322_InitialCreate.cs
@@ -25,6 +25,21 @@ namespace LawFirmDatabaseImplement.Migrations
                     table.PrimaryKey("PK_Blanks", x => x.Id);
                 });
 
+            migrationBuilder.CreateTable(
+                name: "Clients",
+                columns: table => new
+                {
+                    Id = table.Column<int>(type: "int", nullable: false)
+                        .Annotation("SqlServer:Identity", "1, 1"),
+                    ClientFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
+                    Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
+                    Password = table.Column<string>(type: "nvarchar(max)", nullable: false)
+                },
+                constraints: table =>
+                {
+                    table.PrimaryKey("PK_Clients", x => x.Id);
+                });
+
             migrationBuilder.CreateTable(
                 name: "Documents",
                 columns: table => new
@@ -73,6 +88,7 @@ namespace LawFirmDatabaseImplement.Migrations
                     Id = table.Column<int>(type: "int", nullable: false)
                         .Annotation("SqlServer:Identity", "1, 1"),
                     DocumentId = table.Column<int>(type: "int", nullable: false),
+                    ClientId = table.Column<int>(type: "int", nullable: false),
                     Count = table.Column<int>(type: "int", nullable: false),
                     Sum = table.Column<double>(type: "float", nullable: false),
                     Status = table.Column<int>(type: "int", nullable: false),
@@ -82,6 +98,12 @@ namespace LawFirmDatabaseImplement.Migrations
                 constraints: table =>
                 {
                     table.PrimaryKey("PK_Orders", x => x.Id);
+                    table.ForeignKey(
+                        name: "FK_Orders_Clients_ClientId",
+                        column: x => x.ClientId,
+                        principalTable: "Clients",
+                        principalColumn: "Id",
+                        onDelete: ReferentialAction.Cascade);
                     table.ForeignKey(
                         name: "FK_Orders_Documents_DocumentId",
                         column: x => x.DocumentId,
@@ -100,6 +122,11 @@ namespace LawFirmDatabaseImplement.Migrations
                 table: "DocumentBlanks",
                 column: "DocumentId");
 
+            migrationBuilder.CreateIndex(
+                name: "IX_Orders_ClientId",
+                table: "Orders",
+                column: "ClientId");
+
             migrationBuilder.CreateIndex(
                 name: "IX_Orders_DocumentId",
                 table: "Orders",
@@ -118,6 +145,9 @@ namespace LawFirmDatabaseImplement.Migrations
             migrationBuilder.DropTable(
                 name: "Blanks");
 
+            migrationBuilder.DropTable(
+                name: "Clients");
+
             migrationBuilder.DropTable(
                 name: "Documents");
         }
diff --git a/LawFirm/LawFirmDatabaseImplement/Migrations/LawFirmDatabaseModelSnapshot.cs b/LawFirm/LawFirmDatabaseImplement/Migrations/LawFirmDatabaseModelSnapshot.cs
index 51a190e..9ae3d18 100644
--- a/LawFirm/LawFirmDatabaseImplement/Migrations/LawFirmDatabaseModelSnapshot.cs
+++ b/LawFirm/LawFirmDatabaseImplement/Migrations/LawFirmDatabaseModelSnapshot.cs
@@ -42,6 +42,31 @@ namespace LawFirmDatabaseImplement.Migrations
                     b.ToTable("Blanks");
                 });
 
+            modelBuilder.Entity("LawFirmDatabaseImplement.Models.Client", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("ClientFIO")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Email")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Password")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Clients");
+                });
+
             modelBuilder.Entity("LawFirmDatabaseImplement.Models.Document", b =>
                 {
                     b.Property<int>("Id")
@@ -96,6 +121,9 @@ namespace LawFirmDatabaseImplement.Migrations
 
                     SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 
+                    b.Property<int>("ClientId")
+                        .HasColumnType("int");
+
                     b.Property<int>("Count")
                         .HasColumnType("int");
 
@@ -116,6 +144,8 @@ namespace LawFirmDatabaseImplement.Migrations
 
                     b.HasKey("Id");
 
+                    b.HasIndex("ClientId");
+
                     b.HasIndex("DocumentId");
 
                     b.ToTable("Orders");
@@ -142,12 +172,20 @@ namespace LawFirmDatabaseImplement.Migrations
 
             modelBuilder.Entity("LawFirmDatabaseImplement.Models.Order", b =>
                 {
+                    b.HasOne("LawFirmDatabaseImplement.Models.Client", "Client")
+                        .WithMany("Orders")
+                        .HasForeignKey("ClientId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
                     b.HasOne("LawFirmDatabaseImplement.Models.Document", "Document")
                         .WithMany("Orders")
                         .HasForeignKey("DocumentId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
 
+                    b.Navigation("Client");
+
                     b.Navigation("Document");
                 });
 
@@ -156,6 +194,11 @@ namespace LawFirmDatabaseImplement.Migrations
                     b.Navigation("DocumentBlanks");
                 });
 
+            modelBuilder.Entity("LawFirmDatabaseImplement.Models.Client", b =>
+                {
+                    b.Navigation("Orders");
+                });
+
             modelBuilder.Entity("LawFirmDatabaseImplement.Models.Document", b =>
                 {
                     b.Navigation("Blanks");