using Publication.Entites; using Publication.Repositories; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Publication.Forms; public partial class FormOrder : Form { private readonly IOrderRepository orderRepository; public FormOrder(IOrderRepository _orderRepository, ICustomerRepository _customerRepository, IPublisingHouseRepository _publisingHouseRepository) { InitializeComponent(); orderRepository = _orderRepository ?? throw new ArgumentNullException(nameof(_orderRepository)); comboBoxCutomer.DataSource = _customerRepository.ReadCustomers(); comboBoxCutomer.DisplayMember = "FullName"; comboBoxCutomer.ValueMember = "Id"; comboBoxPublishingHouse.DataSource = _publisingHouseRepository.ReadPublishingHouses(); comboBoxPublishingHouse.DisplayMember = "Title"; comboBoxPublishingHouse.ValueMember = "Id"; } private void buttonSave_Click(object sender, EventArgs e) { try { if (comboBoxCutomer.SelectedIndex < 0 || comboBoxPublishingHouse.SelectedIndex < 0) { throw new Exception("Имеются незаполненные поля"); } orderRepository.CreateOrder(Orders.CreateEntity( 1, textBoxDescription.Text, (int)comboBoxCutomer.SelectedValue!, (int)comboBoxPublishingHouse.SelectedValue! )); Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void buttonBreak_Click(object sender, EventArgs e) => Close(); }