Ниже ты увидишь код на C#. Дополни его таким функционалом: необходимо добавить окно, где можно добавлять, редактировать и удалять сотрудников, а также просматривать их всех; необходимо добавить окно, где можно добавлять, редактировать и удалять клиентов, а также просматривать их всех; также необходимо, чтобы два поля "клиент" и "сотрудник" появились в таблице с заказами public partial class MainForm : Form
    {
        private List<Service> cartServices = new List<Service>();
        private List<Service> dbServices;
        private Order loadedOrder;

        public MainForm()
        {
            InitializeComponent();
            UpdateServicesTable();
            UpdateOrdersTable();
            LoadServices();
            statusCb.Items.AddRange(AppDB.GetStatusDescriptions());
            cartDGV.DataSource = null;
        }

        //Загрузить услуги
        private void LoadServices()
        {
            dbServices = AppDB.GetServices();
            cartCb.Items.Clear();
            cartCb.Items.AddRange(dbServices.Select(s => s.Label).ToArray());
        }

        //Обновить таблицу с заказами
        private void UpdateOrdersTable()
        {
            ordersDGV.DataSource = AppDB.GetOrders().OrderBy(o => o.Status).ToList();
        }
        //Обновить таблицу с услугами
        private void UpdateServicesTable()
        {
            var data = AppDB.GetServices();
            servicesListView.Clear();
            foreach (var service in data)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.Text = service.Label;
                lvi.SubItems.Add(service.Cost.ToString());
                lvi.SubItems.Add(service.Id.ToString());
                servicesListView.Items.Add(lvi);
            }
        }
        //Загрузить услуги в заказе
        private void LoadOrderServices(Order order)
        {
            if(order != null)
            {
                orderServicesDGV.DataSource = order.Services;
                statusCb.Text = order.Status.GetDescription();
                statusLabel.Text = $"Заказ '{order.Label}' (id: {order.Id}) на сумму {order.GetTotalCost()} (+{order.OverPriceString})";
                updateStatusBtn.Enabled = true;
                loadedOrder = order;
            }
            else
            {
                orderServicesDGV.ClearSelection();
                orderServicesDGV.DataSource = null;
                statusLabel.Text = "Заказ не выбран";
                updateStatusBtn.Enabled = false;
                statusCb.Text = string.Empty;
                loadedOrder = null;
            }
        }

        //Проверить правильность данных для Услуг 
        private bool GetServiceFieldsValid()
        {
            if (string.IsNullOrWhiteSpace(serviceLabelTb.Text))
                return false;

            return true;
        }

        //Проверить правильность данных для корзины
        private bool GetCartFieldsValid()
        {
            if (string.IsNullOrWhiteSpace(orderTb.Text))
                return false;
            if (cartDGV.Rows.Count == 0)
                return false;

            return true;
        }
        //Очистить поля
        private void ClearFields(Control.ControlCollection container)
        {
            foreach (var control in container)
            {
                if (control is TextBoxBase)
                    ((TextBoxBase)control).Text = string.Empty;
                else if(control is NumericUpDown)
                    ((NumericUpDown)control).Value = 0m;
                else if (control is ComboBox)
                    ((ComboBox)control).Text = string.Empty;
            }
        }
        //Добавить услугу
        private void addService_Click(object sender, EventArgs e)
        {
            if(GetServiceFieldsValid() == true)
            {
                AppDB.AddService(new Service(serviceLabelTb.Text, servicePriceNud.Value));
                UpdateServicesTable();
                ClearFields(tabPage1.Controls);
                LoadServices();
            }
            else
            {
                MessageBox.Show("Все поля должны быть заполнены!", "Помощник",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        //Удалить услугу
        private void deleteService_Click(object sender, EventArgs e)
        {
            if(servicesListView.SelectedItems.Count > 0)
            {
                AppDB.RemoveService(int.Parse(servicesListView.SelectedItems[0].SubItems[2].Text));
                UpdateServicesTable();
                ClearFields(tabPage1.Controls);
                LoadServices();
            }
            else
            {
                MessageBox.Show("Сначала выберите услугу!", "Помощник",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        //Редактировать
        private void editBtn_Click(object sender, EventArgs e)
        {
            if (servicesListView.SelectedItems.Count > 0)
            {
                int id = int.Parse(servicesListView.SelectedItems[0].SubItems[2].Text);
                AppDB.UpdateService(new Service
                {
                    Label = serviceLabelTb.Text,
                    Cost = servicePriceNud.Value,
                    Id = id
                });
                UpdateServicesTable();
                ClearFields(tabPage1.Controls);
                LoadServices();
            }
            else
            {
                MessageBox.Show("Сначала выберите услугу!", "Помощник",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void servicesListView_SelectedIndexChanged(object sender, EventArgs e)
        {
            if(servicesListView.SelectedItems.Count > 0)
            {
                serviceLabelTb.Text = servicesListView.SelectedItems[0].Text;
                servicePriceNud.Value = decimal.Parse(servicesListView.SelectedItems[0].SubItems[1].Text);
            }
        }
        //Просмотреть заказ
        private void viewOrderBtn_Click(object sender, EventArgs e)
        {
            if(ordersDGV.SelectedRows.Count > 0)
            {
                LoadOrderServices(ordersDGV.SelectedRows[0].DataBoundItem as Order);
                tabControl1.SelectedTab = tabControl1.TabPages[3];
            }
            else
            {
                MessageBox.Show("Сначала выберите заказ!", "Помощник",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        //Удалить заказ
        private void deleteOrderBtn_Click(object sender, EventArgs e)
        {
            if (ordersDGV.SelectedRows.Count > 0)
            {
                AppDB.RemoveOrder((ordersDGV.SelectedRows[0].DataBoundItem as Order).Id);
                UpdateOrdersTable();
                LoadOrderServices(null);
            }
            else
            {
                MessageBox.Show("Сначала выберите заказ!", "Помощник",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        //Обновить таблицу с Заказами
        private void refreshOrdersTable_Click(object sender, EventArgs e)
        {
            UpdateOrdersTable();
        }
        //Добавить
        private void addButton_Click(object sender, EventArgs e)
        {
            if (GetCartFieldsValid() == true)
            {
                cartDGV.DataSource = null;
                AppDB.AddOrder(new Order(orderTb.Text, (float)overpriceNud.Value/100, cartServices));
                cartServices.Clear();
                UpdateOrdersTable();
            }
            else
            {
                MessageBox.Show("Все поля должны быть заполнены, а услуги выбраны!", "Помощник",
                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        //Получить общую стоимость в корзине
        private decimal GetTotalCartPrice()
        {
            return new Order(orderTb.Text, (float)overpriceNud.Value/100, cartServices).GetTotalCost();
        }
        //Добавить услугу в корзину
        private void addServiceToCartBtb_Click(object sender, EventArgs e)
        {
            if(cartCb.SelectedIndex > -1)
            {
                cartDGV.DataSource = null;
                cartServices.Add(dbServices[cartCb.SelectedIndex]);
                cartDGV.DataSource = cartServices;
                label7.Text = "Стоимость всего: " + GetTotalCartPrice();
            }
        }
        //Показать общую стоимость корзины
        private void overpriceNud_ValueChanged(object sender, EventArgs e)
        {
            label7.Text = "Стоимость всего: " + GetTotalCartPrice();
        }
        //Убрать услугу из корзины
        private void remove_service_click(object sender, EventArgs e)
        {
            if (cartDGV.SelectedRows.Count > 0)
            {
                cartServices.RemoveAt(cartDGV.SelectedRows[0].Index);
                cartDGV.DataSource = null;
                cartDGV.DataSource = cartServices;
                label7.Text = "Стоимость всего: " + GetTotalCartPrice();
            }
        }
        //Обновить статус заказа
        private void updateStatusBtn_Click(object sender, EventArgs e)
        {
            loadedOrder.Status = (Status)statusCb.SelectedIndex;
            AppDB.UpdateOrderStatus(loadedOrder);
            tabControl1.SelectedTab = tabControl1.TabPages[1];
            LoadOrderServices(null);
            UpdateOrdersTable(); 
        }

    }
}