using DressAtelierContracts.BusinessLogicContracts; using DressAtelierContracts.SearchModels; using DressAtelierDataModels.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; namespace SewingDresses { public partial class FormCheckDresses : Form { private readonly ILogger _logger; private readonly IAtelierLogic _logicAtelier; private readonly IDressLogic _logicDress; public FormCheckDresses(ILogger logger, IDressLogic logicD, IAtelierLogic logicA) { InitializeComponent(); _logger = logger; _logicAtelier = logicA; _logicDress = logicD; } private void FormCheckDresses_Load(object sender, EventArgs e) { _logger.LogInformation("Downloading ateliers"); try { var _list = _logicAtelier.ReadList(null); if (_list != null) { atelierComboBox.DisplayMember = "Name"; atelierComboBox.ValueMember = "ID"; atelierComboBox.DataSource = _list; } } catch (Exception ex) { _logger.LogError(ex, "Downloading ateliers error"); MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void atelierComboBox_SelectedIndexChanged(object sender, EventArgs e) { var atelier = _logicAtelier.ReadElement(new AtelierSearchModel { ID = Convert.ToInt32(atelierComboBox.SelectedValue), Name = atelierComboBox.Text }); _logger.LogInformation("Downloading dresses for atelier"); try { if (atelier.DressesList.Count != 0) { dressesGridView.Rows.Clear(); foreach (var dress in atelier.DressesList) { dressesGridView.Rows.Add(new object[] { dress.Key, dress.Value.Item1.DressName, dress.Value.Item2 }); } } } catch(Exception ex) { _logger.LogError(ex, "Error downloading dresses for atelier"); MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }