55 lines
2.0 KiB
C#
55 lines
2.0 KiB
C#
using SoftwareInstallationContracts.BusinessLogicsContracts;
|
||
|
||
namespace SoftwareInstallationView
|
||
{
|
||
public partial class FormSellPackage : Form
|
||
{
|
||
private readonly IShopLogic _shopLogic;
|
||
private readonly IPackageLogic _packageLogic;
|
||
|
||
public FormSellPackage(IPackageLogic logic, IShopLogic shopLogic)
|
||
{
|
||
InitializeComponent();
|
||
_packageLogic = logic;
|
||
_shopLogic = shopLogic;
|
||
var list = logic.ReadList(null);
|
||
if (list != null)
|
||
{
|
||
comboBoxPackage.DisplayMember = "PackageName";
|
||
comboBoxPackage.ValueMember = "Id";
|
||
comboBoxPackage.DataSource = list;
|
||
comboBoxPackage.SelectedItem = null;
|
||
}
|
||
}
|
||
|
||
private void ButtonSell_Click(object sender, EventArgs e)
|
||
{
|
||
if (comboBoxPackage.SelectedValue == null)
|
||
{
|
||
MessageBox.Show("Выберите изделие", "Ошибка",MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||
return;
|
||
}
|
||
if (numericUpDownCount.Value <= 0)
|
||
{
|
||
MessageBox.Show("Количество должно быть больше нуля", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||
return;
|
||
}
|
||
var count = (int)numericUpDownCount.Value;
|
||
var package = _packageLogic.ReadElement(new() { Id = (int)comboBoxPackage.SelectedValue });
|
||
if (package == null || !_shopLogic.SellPackages(package, count))
|
||
{
|
||
MessageBox.Show("Не удалось продать изделия. Информацию смотрите в логах", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||
return;
|
||
}
|
||
DialogResult = DialogResult.OK;
|
||
Close();
|
||
}
|
||
|
||
private void ButtonCancel_Click(object sender, EventArgs e)
|
||
{
|
||
DialogResult = DialogResult.Cancel;
|
||
Close();
|
||
}
|
||
}
|
||
}
|