87 lines
2.7 KiB
C#
Raw Permalink Normal View History

2023-02-27 00:35:38 +04:00
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<FormCheckDresses> 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);
}
}
}
}